#779. [CZOI2013 G] 同字异构数

[CZOI2013 G] 同字异构数

题目描述

有一种神奇的数,叫做同字异构数,即为由若干个相同的数字分别构成的不相等的数。如构成数 9876555498765554 和 4555789645557896 的 88 个数字是相同的,它们是同字异构数。注意,同字异构数必须位数相等,0111901119 和 9111091110 不互为同字异构数!!请你编一个程序求出一个数的所有同字异构数。

输入格式

一行包含一个正整数 NN。

输出格式

第一行为一个正整数 MM,表示 NN 的所有同字异构数的个数,紧接着从第二行开始从小到大依次输出这 MM 个同字异构数,每行输出一个数。

353
3
335
353
533

数据范围

30%30\% 的数据满足:1≤N≤1031\le N≤10^3

60%60\% 的数据满足:1≤N≤1061\le N≤10^6

100%100\% 的数据满足:1≤N≤1091\le N≤10^9

50%的数据满足:NN 中没有数字 00,且 NN 中每个数字只出现 11 次。