记录编号 78359 评测结果 AAAAAAAAAA
题目名称 方程 最终得分 100
用户昵称 Gravatar, 是否通过 通过
代码语言 Pascal 运行时间 1.425 s
提交时间 2013-11-03 20:33:14 内存使用 0.64 MiB
显示代码纯文本
  1. program gmy(input,output);
  2. var
  3. k,i,j,l,ll,ii:longint;
  4. x,y,z:int64;
  5. a:array[0..1,0..1000,0..30]of int64;
  6. function max(a,b:longint):longint;
  7. begin
  8. if a>=b then exit(a)
  9. else exit(b);
  10. end;
  11. begin
  12. assign(input,'equationz.in');
  13. reset(input);
  14. assign(output,'equationz.out');
  15. rewrite(output);
  16. readln(k,x);
  17. y:=1;
  18. z:=x mod 1000;
  19. repeat
  20. if x mod 2=1 then y:=(y*z) mod 1000;
  21. z:=z*z mod 1000;
  22. x:=x div 2;
  23. until x=0;
  24. a[1,1,0]:=1;
  25. a[1,1,1]:=1;
  26. i:=1;
  27. repeat
  28. i:=i+1;
  29. if i=238 then begin
  30. i:=i+1;
  31. i:=i-1;
  32. end;
  33. ii:=i mod 2;
  34. for j:=1 to i do
  35. begin
  36. if j mod 116=0 then begin
  37. i:=i+1;
  38. i:=i-1;
  39. end;
  40. ll:=max(a[1-ii,j,0],a[1-ii,j-1,0]);
  41. a[ii,j,0]:=ll;
  42. for l:=1 to ll do
  43. a[ii,j,l]:=a[1-ii,j-1,l]+a[1-ii,j,l];
  44. ll:=0;
  45. repeat
  46. ll:=ll+1;
  47. if a[ii,j,ll]>9999999 then begin
  48. a[ii,j,ll+1]:=a[ii,j,ll+1]+a[ii,j,ll] div 10000000;
  49. a[ii,j,ll]:=a[ii,j,ll] mod 10000000;
  50. if ll=a[ii,j,0] then a[ii,j,0]:=a[ii,j,0]+1;
  51. end;
  52. until ll=a[ii,j,0];
  53. end;
  54. until i=y;
  55. l:=y mod 2;
  56. for i:=a[l,k,0] downto 1 do
  57. begin
  58. if (i<>a[l,k,0]) then begin
  59. if (a[l,k,i]>=1) and (a[l,k,i]<10)
  60. then write('000000',a[l,k,i]);
  61. if (a[l,k,i]>=10) and (a[l,k,i]<100)
  62. then write('00000',a[l,k,i]);
  63. if (a[l,k,i]>=100) and (a[l,k,i]<1000)
  64. then write('0000',a[l,k,i]);
  65. if (a[l,k,i]>=1000) and (a[l,k,i]<10000)
  66. then write('000',a[l,k,i]);
  67. if (a[l,k,i]>=10000) and (a[l,k,i]<100000)
  68. then write('00',a[l,k,i]);
  69. if (a[l,k,i]>=100000) and (a[l,k,i]<1000000)
  70. then write('0',a[l,k,i]);
  71. if (a[l,k,i]>=1000000) and (a[l,k,i]<10000000)
  72. then write(a[l,k,i]);
  73. end
  74. else write(a[l,k,i]);
  75. end;
  76. close(input);
  77. close(output);
  78. end.