Description

味味最近在玩猜数字的游戏,现在她也希望你来玩一下这个游戏。猜数字游戏的规则是这样的,告诉你一个正整数 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 减去她心中想的那个数的值,请你猜出味味心中想的那个数。
 
输入共包含两行。第一行一个整数 n(含义如前面所述),第二行一个正整数S,表示 n!个数的总和减去味味心中那个数的值。
2≤n≤11 ,0≤S≤10^18。如果该数第一位开始有若干个 0,则输出时这些 0 也必须输出(详见样例 3)。 
 
思路:设已经知道答案每个位置上的数,推导公式可发现S只与数位之和与原数有关 
        直接搜索原数会超时,所以枚举0-9各自出现了几次,利用S与数位之和反推出原数,验证0-9出现的次数是否符合
 var a,b:array[..]of longint;
pt,i,n:longint;
s,q,ans,m,max:int64;
p:boolean; procedure dfs(k,g,t:longint); //g shengyugeshu t shuweihe
var i,tt:longint;
flag:boolean;
q:int64; begin
if p then exit; if k= then
begin
if g> then exit;
q:=t*m-s; ans:=q;
if q>max then exit;
if q< then exit;
fillchar(b,sizeof(b),); tt:=n;
while q> do
begin
inc(b[q mod ]);
q:=q div ; dec(tt);
end;
b[]:=b[]+tt;
flag:=true;
for i:= to do
if a[i]<>b[i] then begin flag:=false; break; end;
if flag then begin pt:=tt; p:=true; end;
exit;
end; if g= then
begin
dfs(,,t);
exit;
end; {if k=9 then
begin
a[9]:=g;
dfs(10,0,t+g*9);
a[9]:=0;
exit;
end; } for i:= to g do
begin
a[k]:=i;
dfs(k+,g-i,t+k*i);
a[k]:=;
if p then exit;
end;
end; begin readln(n);
for i:= to n do m:=m*+;
for i:= to n- do m:=m*i;
readln(s);
for i:= to n do max:=max*+;
p:=false;
dfs(,n,);
for i:= to pt do write();
write(ans); end.

最新文章

  1. 推荐一个自动抽取pdf高亮笔记的web应用
  2. 冲刺阶段 day 14
  3. (Hibernate进阶)Hibernate基本原理(一)
  4. js:数据结构笔记12--排序算法(2)
  5. 20145218 《Java程序设计》第05次实验报告
  6. Java中如何防止内存泄漏的发生
  7. 转:MVC2表单验证失败后,直接返回View,已填写的内容就会清空,可以这样做;MVC2输出文本;MVC2输出PDF文件
  8. VISUAL STUDIO 2005连接MYSQL数据库
  9. sqlite3 C API编程
  10. 定时排程刷新微信access-token
  11. 【CNMP系列】CentOS7.0下安装MySql5.6服务
  12. Programming In Scala笔记-第十一章、Scala中的类继承关系
  13. 保护url时效性和安全性的一种解决方案
  14. Android应用内嵌unity3d游戏项目
  15. Hadoop ConnectException: Connection refused的一种解决办法
  16. es6新增的数组遍历方式
  17. 《深入理解Java虚拟机》(五)JVM调优 - 工具
  18. iOS实时查看App运行日志
  19. tensorflow 笔记8:RNN、Lstm源码,训练代码输入输出,维度分析
  20. MySQL 多源复制(Mulit-Source Replication)

热门文章

  1. USACO08FEB Hotel
  2. 解决cocos simpleAudioEngine播放mp3失败问题
  3. 2d游戏中求出一个向量的两个垂直向量
  4. css3 设置滚动条的样式
  5. C语言中的32个关键字
  6. 树莓派编译ncnn
  7. Party Games UVA - 1610 贪心
  8. POJ:1753-Flip Game(二进制+bfs)
  9. HDU 3966 RE 树链剖分 线段树 Aragorn&#39;s Story
  10. [POJ 1005] I Think I Need a Houseboat C++解题