状态: Unaccepted
测评机: Xeond[6]
得分: 20分
提交日期: 2010-11-5 13:13:00
有效耗时: 250毫秒
测试结果1: 通过本测试点|有效耗时172ms
测试结果2: 通过本测试点|有效耗时78ms
测试结果3: 选手程序运行超过时限
测试结果4: 测试结果错误.错误结果为:7 2 0 8 4 9 1 3 5 6
正确结果应为:4 3 9 10 1 7 11 5 8 6 2 0
测试结果5: 测试结果错误.错误结果为:7 2 0 8 4 9 1 3 5 6
正确结果应为:0 1 10 7 3 4 6 12 8 9 5 11 2 13 14
测试结果6: 测试结果错误.错误结果为:7 2 0 8 4 9 1 3 5 6
正确结果应为:10 14 1 7 0 5 11 12 3 6 13 9 4 8 2 15
测试结果7: 选手程序运行超过时限
测试结果8: 输出过少|用户输出数据少于标准输出的50%[标准输出49位|选手输出19位]
测试结果9: 输出过少|用户输出数据少于标准输出的50%[标准输出52位|选手输出19位]
测试结果10: 输出过少|用户输出数据少于标准输出的50%[标准输出52位|选手输出19位]
提交代码: view sourceprint?01.var a,b,c:string;
02.
d,e,x,y,z:array[0..50]of integer;
03.
p,n:integer;
04.
s:set of 0..26;
05.procedure find(m:integer);
06.var i,j:integer;
07.begin
08.
if m>n then
09.
begin
10.
fillchar(e,sizeof(e),0);p:=0;
11.
for i:=n downto 1 do
12.
begin
13.
e[i]:=x[i]+y[i]+e[i];
14.
if e[i]>=n then
15.
begin
16.
e[i-1]:=e[i-1]+1;
17.
e[i]:=e[i] mod n;
18.
end;
19.
if e[i]<>z[i] then begin p:=1;break;end;
20.
end;
21.
if p=0 then
22.
begin
23.
for i:=1 to n-1 do write(d[i],' ');
24.
write(D[N]);
25.
halt;
26.
end;
27.
end
28.
else
29.
for i:=N-1 DOWNTO 0 do
30.
if not(i in s) then
31.
begin
32.
d[m]:=i; s:=s+[i];
33.
for j:=1 to n do
34.
begin
35.
if ord(a[j])-64=M then x[j]:=i;
36.
if ord(b[j])-64=M then y[j]:=i;
37.
if ord(c[j])-64=M then z[j]:=i;
38.
end;
39.
find(m+1);
40.
d[m]:=0; s:=s-[i];
41.
for j:=1 to n do
42.
begin
43.
if ord(a[j])-64=M then x[j]:=0;
44.
if ord(b[j])-64=M then y[j]:=0;
45.
if ord(c[j])-64=M then z[j]:=0;
46.
end;
47.
end;
48.end;
49.begin
50.
s:=[];
51.
readln(n);
52.
readln(a);
53.
readln(b);
54.
readln(c);
55.
find(1);
56.end.