Problem G: 同字异构数(isomer.cpp)
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:19
Solved:18
Description
有一种神奇的数,叫做同字异构数,即为由若干个相同的数字分别构成的不相等的数。如构成数98765554和45557896的8个数字是相同的,它们是同字异构数。注意,同字异构数必须位数相等,01119 和91110 不互为同字异构数!!请你编一个程序求出一个数的所有同字异构数。
Input
输入文件仅有一行包含一个正整数N。
Output
输出文件第一行为一个正整数M,表示N的所有同字异构数的个数,紧接着从第二行开始从小到大依次输出这M个同字异构数,每行输出一个数。
HINT
样例
isomer.in
353
isomer.out
3
335
353
533
数据范围
30%的数据满足:N≤1000
60%的数据满足:N≤1000000
100%的数据满足:N≤1000000000
50%的数据满足:N中没有数字0,且N中每个数字只出现1次。
isomer.in
353
isomer.out
3
335
353
533
数据范围
30%的数据满足:N≤1000
60%的数据满足:N≤1000000
100%的数据满足:N≤1000000000
50%的数据满足:N中没有数字0,且N中每个数字只出现1次。