记录编号 |
78359 |
评测结果 |
AAAAAAAAAA |
题目名称 |
方程 |
最终得分 |
100 |
用户昵称 |
, |
是否通过 |
通过 |
代码语言 |
Pascal |
运行时间 |
1.425 s |
提交时间 |
2013-11-03 20:33:14 |
内存使用 |
0.64 MiB |
显示代码纯文本
program gmy(input,output);
var
k,i,j,l,ll,ii:longint;
x,y,z:int64;
a:array[0..1,0..1000,0..30]of int64;
function max(a,b:longint):longint;
begin
if a>=b then exit(a)
else exit(b);
end;
begin
assign(input,'equationz.in');
reset(input);
assign(output,'equationz.out');
rewrite(output);
readln(k,x);
y:=1;
z:=x mod 1000;
repeat
if x mod 2=1 then y:=(y*z) mod 1000;
z:=z*z mod 1000;
x:=x div 2;
until x=0;
a[1,1,0]:=1;
a[1,1,1]:=1;
i:=1;
repeat
i:=i+1;
if i=238 then begin
i:=i+1;
i:=i-1;
end;
ii:=i mod 2;
for j:=1 to i do
begin
if j mod 116=0 then begin
i:=i+1;
i:=i-1;
end;
ll:=max(a[1-ii,j,0],a[1-ii,j-1,0]);
a[ii,j,0]:=ll;
for l:=1 to ll do
a[ii,j,l]:=a[1-ii,j-1,l]+a[1-ii,j,l];
ll:=0;
repeat
ll:=ll+1;
if a[ii,j,ll]>9999999 then begin
a[ii,j,ll+1]:=a[ii,j,ll+1]+a[ii,j,ll] div 10000000;
a[ii,j,ll]:=a[ii,j,ll] mod 10000000;
if ll=a[ii,j,0] then a[ii,j,0]:=a[ii,j,0]+1;
end;
until ll=a[ii,j,0];
end;
until i=y;
l:=y mod 2;
for i:=a[l,k,0] downto 1 do
begin
if (i<>a[l,k,0]) then begin
if (a[l,k,i]>=1) and (a[l,k,i]<10)
then write('000000',a[l,k,i]);
if (a[l,k,i]>=10) and (a[l,k,i]<100)
then write('00000',a[l,k,i]);
if (a[l,k,i]>=100) and (a[l,k,i]<1000)
then write('0000',a[l,k,i]);
if (a[l,k,i]>=1000) and (a[l,k,i]<10000)
then write('000',a[l,k,i]);
if (a[l,k,i]>=10000) and (a[l,k,i]<100000)
then write('00',a[l,k,i]);
if (a[l,k,i]>=100000) and (a[l,k,i]<1000000)
then write('0',a[l,k,i]);
if (a[l,k,i]>=1000000) and (a[l,k,i]<10000000)
then write(a[l,k,i]);
end
else write(a[l,k,i]);
end;
close(input);
close(output);
end.