问题 1637. -- 猜数字

1637: 猜数字

时间限制: 1 Sec  内存限制: 128 MB
提交: 13  解决: 4
[提交][状态][讨论版]

题目描述

        味味最近在玩猜数字的游戏,现在她也希望你来玩一下这个游戏。猜数字游戏的规则是这样的,告诉你一个正整数n(2<=n<=11),然后味味心中会想一个n个数字组成的数字串(数字串最前面若干位可能是0)。味味会随意排列n位数上的数字,这样可能产生n!个n位数。(n!=1×2×3×4×5×……×n,n!念作“n阶乘”).  
        比如味味想了一个三位数abc,那么一共会产生六个三位数,分别为 abc,acb,bac,bca,cab,cba
        然后味味会把这n!个n位数求和得到S(若某数第一位开始有若干个0,则求和时这些0舍去。如有数“0123”,则求和时加到s中的值是123),她会告诉你总和S减去她心中想的那个数的值,请你猜出味味心中想的那个数。

输入

输入文件guess.in共包含两行。第一行一个整数n(含义如前面所述),第二行一个正整数S,表示n个数的总和减去味味心中那个数的值。 

输出

输出文件change.out共一行一个数,表示味味心中想的那个n位数(测试数据保证存在唯一解)。
如果该数第一位开始有若干个0,则输出时这些0也必须输出(详见样例3)。

样例输入

3
1209

样例输出

123

提示

【输入输出样例1解释】  如果味味心中想的是123,则S=123+132+213+231+312+321-123=1209符合要求。 
【样例2输入】
4
45440
【样例2输出】
1222
【输入输出样例2解释】 如果味味心中想的是1222,则S=1222+1222+1222+1222+1222+1222+2122+2122+2122
+2122+2122+2122+2212+2212+2212+2212+2212+2212++2221+2221+2221+2221+2221+2221-1222=45440符合要求。
【样例3输出】
2
90
【样例3输出】
09
【输入输出样例3解释】 如果味味心中想的是09,则S=09+90-09=9+90-9=90,符合要求。
【数据范围】 对于20%的数据 n≤3;对于 60%的数据n≤5; 对于100%的数据 2≤n≤11 ,0≤S≤10^18 。

来源

[提交][状态]