有三组数A,B,C,每组的个数分别为2,3,4. 元素分别为1 2;3 4 5 ;6 7 8 9; 现需要生成所有的排列,其中有三组数A,B,C,每组的个数分别为2,3,4.元素分别为1 2;3 4 5 ;6 7 8 9;现需要生成所有的排列,其中中组间元素交换视为有效.例如 12 345 6789 -》12 346 5789视为有效的变换(其中B组元素5和C组元素6交换),组内元素的全排列视为无效(例如12 345 6789-》21 345 6789视为无效变换.如果从1-9的元素坐全排列的话需要计算和移动将近400万次(计算需要花费10多分钟).而其实实际有效的数据只有1260次,所以各位不知道有什么好多办法解决这个问题没有?

问题描述:

有三组数A,B,C,每组的个数分别为2,3,4. 元素分别为1 2;3 4 5 ;6 7 8 9; 现需要生成所有的排列,其中
有三组数A,B,C,每组的个数分别为2,3,4.
元素分别为1 2;3 4 5 ;6 7 8 9;
现需要生成所有的排列,其中中组间元素交换视为有效.例如 12 345 6789 -》12 346 5789视为有效的变换(其中B组元素5和C组元素6交换),组内元素的全排列视为无效(例如12 345 6789-》21 345 6789视为无效变换.如果从1-9的元素坐全排列的话需要计算和移动将近400万次(计算需要花费10多分钟).而其实实际有效的数据只有1260次,所以各位不知道有什么好多办法解决这个问题没有?