fork download
  1. from itertools import product
  2.  
  3. def generate_combinations(N, M, strings):
  4. # Create a list to store the possible characters for each position
  5. positions = [set(s) for s in strings]
  6.  
  7. # Use itertools.product to generate all combinations of characters
  8. combinations = product(*positions)
  9.  
  10. # Filter out duplicate combinations and join characters to form strings
  11. unique_combinations = {''.join(comb) for comb in combinations}
  12.  
  13. # Sort the unique combinations and return
  14. return sorted(unique_combinations)
  15.  
  16. # Example usage
  17. N, M = map(int, input().split())
  18. strings = [input() for _ in range(N)]
  19.  
  20. output = generate_combinations(N, M, strings)
  21. for comb in output:
  22. print(comb)
Success #stdin #stdout 0.04s 9860KB
stdin
2 3
abc
def
stdout
ad
ae
af
bd
be
bf
cd
ce
cf