fork download
  1. import itertools
  2. d = set()
  3. for s in itertools.permutations('aaabbcc'):
  4. s0 = s[0]
  5. for s1 in s[1:]:
  6. if s0 == s1:
  7. break
  8. s0 = s1
  9. else:
  10. d.add(''.join(s))
  11. for i, s in enumerate(sorted(d)):
  12. print('{:2}: {}'.format(i + 1, s))
  13.  
Success #stdin #stdout 0.02s 7728KB
stdin
Standard input is empty
stdout
 1: ababcac
 2: abacabc
 3: abacacb
 4: abacbac
 5: abacbca
 6: abcabac
 7: abcabca
 8: abcacab
 9: abcacba
10: abcbaca
11: acababc
12: acabacb
13: acabcab
14: acabcba
15: acacbab
16: acbabac
17: acbabca
18: acbacab
19: acbacba
20: acbcaba
21: babacac
22: babcaca
23: bacabac
24: bacabca
25: bacacab
26: bacacba
27: bacbaca
28: bcabaca
29: bcacaba
30: cababac
31: cababca
32: cabacab
33: cabacba
34: cabcaba
35: cacabab
36: cacbaba
37: cbabaca
38: cbacaba