测试结果1: 通过本测试点|有效耗时156:ms
测试结果2: 通过本测试点|有效耗时63:ms
测试结果3: 通过本测试点|有效耗时46:ms
测试结果4: 通过本测试点|有效耗时156:ms
测试结果5: 通过本测试点|有效耗时156:ms
测试结果6: 测试结果错误.错误结果为:12.50 144
正确结果应为:12.50 72
测试结果7: 测试结果错误.错误结果为:3.80 4896
正确结果应为:4.60 262
测试结果8: 测试结果错误.错误结果为:4.25 69
正确结果应为:5.25 7
测试结果9: 选手程序运行超过时限
测试结果10: 测试结果错误.错误结果为:4.25 69
正确结果应为:13.00 4
提交代码: program n248;
var g,edge:array[0..1001,0..1001]of longint;
n,m,e,time,v,i,j,k,x,y,d1,co:longint;
t:array[0..1001]of boolean;
d1st,p,p1to:array[0..1001]of longint;
d:real;
procedure dfs(POINT:longint);
var k:longint;
begin
if x>d then exit;
if pOINT=m then begin inc(co);if x<y then y:=x; exit; end;
for k:=1 to edge[point,0] do
if not t[edge[point,k]] then
begin
t[edge[point,k]]:=true;
inc(x,g[point,edge[point,k]]);
dfs(edge[point,k]);
dec(x,g[point,edge[point,k]]);
t[edge[point,k]]:=false;
end;
end;
begin
readln(n,m,v,time,e);
for i:=1 to e do
begin
readln(x,y,d1);
g[x,y]:=d1;
g[y,x]:=d1;
inc(edge[x,0]);inc(edge[y,0]);
edge[x,edge[x,0]]:=y;
edge[y,edge[y,0]]:=x;
end;
d:=time*v;
co:=0;
p[1]:=1;t[1]:=true;
x:=0; y:=100000000;
dfs(1);
if co=0 then writeln(’"T.T’,’’’’) else
writeln(y/v:0:2,’ ’,co);
end.
我想知道我为莎错了?。。。
var g,edge:array[0..1001,0..1001]of longint;
n,m,e,time,v,i,j,k,x,y,d1,co:longint;
t:array[0..1001]of boolean;
d:real;
procedure dfs(POINT:longint);
var k:longint;
begin
if x>d then exit;
if pOINT=m then begin inc(co);if x<y then y:=x; exit; end;
for k:=1 to edge[point,0] do
if not t[edge[point,k]] then
begin
t[edge[point,k]]:=true;
inc(x,g[point,edge[point,k]]);
dfs(edge[point,k]);
dec(x,g[point,edge[point,k]]);
t[edge[point,k]]:=false;
end;
end;
begin
readln(n,m,v,time,e);
for i:=1 to e do
begin
readln(x,y,d1);
if d1>0 then{look out!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
begin
g[x,y]:=d1;
g[y,x]:=d1;
inc(edge[x,0]);inc(edge[y,0]);
edge[x,edge[x,0]]:=y;
edge[y,edge[y,0]]:=x;
end;
end;
d:=time*v;
co:=0;
t[1]:=true;
x:=0; y:=100000000;
dfs(1);
if co=0 then writeln(’"T.T’,’’’’) else
writeln(y/v:0:2,’ ’,co);
end.