测评机: Xeond[6]
得分: 90分
提交日期: 2010-6-17 20:24:00
有效耗时: 563毫秒
测试结果1: 通过本测试点|有效耗时188ms
测试结果2: 通过本测试点|有效耗时47ms
测试结果3: 通过本测试点|有效耗时47ms
测试结果4: 通过本测试点|有效耗时46ms
测试结果5: 通过本测试点|有效耗时47ms
测试结果6: 通过本测试点|有效耗时47ms
测试结果7: 运行错误|无效浮点操作
测试结果8: 通过本测试点|有效耗时47ms
测试结果9: 通过本测试点|有效耗时47ms
测试结果10: 通过本测试点|有效耗时47ms
::
状态: Unaccepted
测评机: Xeond[6]
得分: 90分
提交日期: 2011-1-8 11:12:00
有效耗时: 610毫秒
测试结果1: 通过本测试点|有效耗时172ms
测试结果2: 通过本测试点|有效耗时46ms
测试结果3: 通过本测试点|有效耗时47ms
测试结果4: 通过本测试点|有效耗时47ms
测试结果5: 通过本测试点|有效耗时47ms
测试结果6: 通过本测试点|有效耗时63ms
测试结果7: 运行错误|无效浮点操作
测试结果8: 通过本测试点|有效耗时63ms
测试结果9: 通过本测试点|有效耗时62ms
测试结果10: 通过本测试点|有效耗时63ms
var n:string;
i,t:integer;
sum:real;
a:array [0..7] of integer;
f:array [0..7] of boolean;
d:array [1..4] of record
x,y:integer;
end;
procedure init;
begin
readln(n);
t:=-1;
i:=1;
while i<=length(n) do
begin
if n[i]=' ' then begin i:=i+1;continue; end;
t:=t+1;
case n[i] of
'1':begin
if n[i+1]='0' then begin a[t]:=10;i:=i+1; end
else a[t]:=1;
end;
'2'..'9':val(n[i],a[t]);
'A':a[t]:=1;
'J':a[t]:=11;
'Q':a[t]:=12;
'K':a[t]:=13;
end;
i:=i+1;
end;
for i:=0 to 3 do
a[i+4]:=0-a[i];
end;
procedure search(t:integer);
var i:integer;
begin
if t=5 then
begin
if (abs(sum-24)<=1E-6) or (abs(sum-1/24)<=1E-6) then begin writeln('yes');halt; end;
exit;
end;
for i:=0 to 31 do
if f[i div 4] then
if t=1 then
begin
f[i div 4 mod 4]:=false;
f[i div 4 mod 4+4]:=false;
d[t].x:=a[i div 4];
d[t].y:=-1;
sum:=a[i div 4];
search(t+1);
f[i div 4 mod 4]:=true;
f[i div 4 mod 4+4]:=true;
d[t].x:=0;
d[t].y:=0;
end
else
begin
f[i div 4 mod 4]:=false;
f[i div 4 mod 4+4]:=false;
d[t].x:=a[i div 4];
d[t].y:=i;
case i mod 4 of
0:sum:=sum+a[i div 4];
1:sum:=sum-a[i div 4];
2:sum:=sum*a[i div 4];
3:sum:=sum/a[i div 4];
end;
search(t+1);
f[i div 4 mod 4]:=true;
f[i div 4 mod 4+4]:=true;
case i mod 4 of
0:sum:=sum-a[i div 4];
1:sum:=sum+a[i div 4];
2:sum:=sum/a[i div 4];
3:sum:=sum*a[i div 4];
end;
d[t].x:=0;
d[t].y:=0;
end;
end;
begin
init;
fillchar(f,sizeof(f),true);
sum:=0;
search(1);
writeln('no');
end.