比赛 |
20121107 |
评测结果 |
AAAAA |
题目名称 |
三只小猪 |
最终得分 |
100 |
用户昵称 |
warrior |
运行时间 |
0.006 s |
代码语言 |
Pascal |
内存使用 |
0.49 MiB |
提交时间 |
2012-11-07 11:40:35 |
显示代码纯文本
type sb=array[0..50]of integer;
var a,b:array[0..10000]of longint;f:array[0..50,0..50]of sb;
t,tt,i,j,ma,mb:longint; ss:sb;
function plus(s1,s2:sb):sb;
var c:sb;ts:sb;q,len:longint;
begin
fillchar(c,sizeof(c),0);
len:=s1[0];if s1[0]<s2[0] then len:=s2[0];
for q:=1 to len do
begin
c[q]:=c[q]+s1[q]+s2[q];
c[q+1]:=c[q] div 10;
c[q]:=c[q] mod 10;
end;
if c[len+1]>0 then inc(len); ts:=c;ts[0]:=len;
exit(ts);
end;
function time(s1:sb;k:longint):sb;
var c:sb;ts:sb;q,len:longint;
begin
fillchar(c,sizeof(c),0); len:=s1[0];
for q:=1 to len do
begin
c[q]:=c[q]+s1[q]*k;
c[q+1]:=c[q]div 10;
c[q]:=c[q] mod 10;
end;
if c[len+1]>0 then inc(len); ts:=c;
ts[0]:=len;
exit(ts);
end;
begin
assign(input,'piggy.in');assign(output,'piggy.out');
reset(input);rewrite(output);
readln(tt);
for i:=1 to tt do
begin
readln(a[i],b[i]);
if a[i]>ma then ma:=a[i];
if b[i]>mb then mb:=b[i];
end;
if ma>mb then t:=ma else t:=mb;
for i:=1 to mb do for J:=1 to ma do begin f[i,j][1]:=0;f[i,j][0]:=1;end;
for i:=1 to t do begin f[i,i][1]:=1;f[1,i][1]:=1;end;
for i:=2 to mb do
for J:=i+1 to ma do
begin
ss:=time(f[i,j-1],i);f[i,j]:=plus(ss,f[i-1,j-1]);
end;
for i:=1 to tt do
begin
ss:=f[b[i],a[i]];
for j:=ss[0] downto 1 do write(ss[j]);
writeln;
end;
close(output);
end.