讨论 / 哪位大牛帮我看看!
why19931123 2009-02-03 01:27:00
点我顶贴 收藏 删除
状态: Unaccepted

测评机: Xeost[5]

得分: 90分

提交日期: 2009-2-3 8:38:00

有效耗时: 1044毫秒

测试结果1: 输出过少|用户输出数据少于标准输出的50%[标准输出5位|选手输出1位]

测试结果2: 通过本测试点|有效耗时47:ms

测试结果3: 通过本测试点|有效耗时47:ms

测试结果4: 通过本测试点|有效耗时46:ms

测试结果5: 通过本测试点|有效耗时62:ms

测试结果6: 通过本测试点|有效耗时172:ms

测试结果7: 通过本测试点|有效耗时156:ms

测试结果8: 通过本测试点|有效耗时171:ms

测试结果9: 通过本测试点|有效耗时172:ms

测试结果10: 通过本测试点|有效耗时171:ms

提交代码: var

a:array[1..30,1..30]of longint;

l1,l2,l3,m,n,o,p,q:longint;

f1,f2,f3:array[1..99999]of longint;

procedure cheng1(i,j:longint);

var

k:longint;

begin

if j>m

then j:=j-m;

for k:=1to l2 do

f2[k]:=f2[k]*a[i,j];

for k:=1to l2-1do

begin

f2[k+1]:=f2[k+1]+f2[k]div 10;

f2[k]:=f2[k]mod 10;

end;

while f2[l2]>=10do

begin

inc(l2);

f2[l2]:=f2[l2-1]div 10;

f2[l2-1]:=f2[l2-1]mod 10;

end;

end;

procedure cheng2(i,j:longint);

var

k:longint;

begin

if j<=0

then j:=j+m;

for k:=1to l2 do

f2[k]:=f2[k]*a[i,j];

for k:=1to l2-1do

begin

f2[k+1]:=f2[k+1]+f2[k]div 10;

f2[k]:=f2[k]mod 10;

end;

while f2[l2]>=10do

begin

inc(l2);

f2[l2]:=f2[l2-1]div 10;

f2[l2-1]:=f2[l2-1]mod 10;

end;

end;

procedure jia1;

var

i:longint;

begin

if l1<l2

then l1:=l2;

for i:=1to l1 do

f1[i]:=f1[i]+f2[i];

for i:=1to l1-1do

begin

f1[i+1]:=f1[i+1]+f1[i]div 10;

f1[i]:=f1[i]mod 10;

end;

while f1[l1]>=10do

begin

inc(l1);

f1[l1]:=f1[l1-1]div 10;

f1[l1-1]:=f1[l1-1]mod 10;

end;

end;

procedure jia2;

var

i:longint;

begin

if l3<l2

then l3:=l2;

for i:=1to l3 do

f3[i]:=f3[i]+f2[i];

for i:=1to l3-1do

begin

f3[i+1]:=f3[i+1]+f3[i]div 10;

f3[i]:=f3[i]mod 10;

end;

while f3[l3]>=10do

begin

inc(l3);

f3[l3]:=f3[l3-1]div 10;

f3[l3-1]:=f3[l3-1]mod 10;

end;

end;

procedure work1(i:longint);

var

j:longint;

begin

fillchar(f2,sizeof(f2),0);

f2[1]:=a[1,i];

l2:=1;

while f2[l2]>=10do

begin

inc(l2);

f2[l2]:=f2[l2-1]div 10;

f2[l2-1]:=f2[l2-1]mod 10;

end;

for j:=2to m do

cheng1(j,i+j-1);

jia1;

end;

procedure work2(i:longint);

var

j:longint;

begin

fillchar(f2,sizeof(f2),0);

f2[1]:=a[1,i];

l2:=1;

while f2[l2]>=10do

begin

inc(l2);

f2[l2]:=f2[l2-1]div 10;

f2[l2-1]:=f2[l2-1]mod 10;

end;

for j:=2to m do

cheng2(j,i-j+1);

jia2

end;

procedure huan;

begin

f2:=f1;

f1:=f3;

f3:=f2;

l2:=l1;

l1:=l3;

l3:=l2;

write(’-’);

end;

procedure jian;

var

i:longint;

begin

for i:=1to l1 do

begin

f1[i]:=f1[i]-f3[i];

if f1[i]<0

then begin

f1[i]:=f1[i]+10;

dec(f1[i+1]);

end;

end;

while f1[l1]=0do

dec(l1);

end;

begin

readln(m);

for n:=1to m do

begin

for o:=1to m do

read(a[n,o]);

readln;

end;

for n:=1to m do

work1(n);

for n:=1to m do

work2(n);

if l1<l3

then huan;

if l1=l3

then begin

q:=l1;

while(f1[q]=f3[q])and(q>0)do

dec(q);

if q=0

then begin

write(0);

halt;

end;

if f1[q]<f3[q]

then huan;

end;

jian;

for q:=l1 downto 1do

write(f1[q]);

end.

这是为什么?

#1 Jollwish@2009-02-03 01:27:00
回复 删除
第一个点很阴...

n=2...

应该输出a[1,1]*a[2,2]-a[1,2]*a[2,1]

查看更多回复
提交回复