社区讨论
哪里错了?拿了40分
P1002[NOIP 2002 普及组] 过河卒参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mi4hk6b4
- 此快照首次捕获于
- 2025/11/18 19:24 4 个月前
- 此快照最后确认于
- 2025/11/18 19:24 4 个月前
CPP
program luogu_1002(input,output);
var
a1:array[1..8]of longint=(2,1,-1,-2,-2,-1,1,2);
a2:array[1..8]of longint=(1,2,2,1,-1,-2,-2,-1);
f:array[-1..21,-1..21]of longint;
a:array[-1..21,-1..21]of boolean;
n,m,i,j,x,y,p,q:longint;
begin
for i:=-1 to 21 do
for j:=-1 to 21 do
a[i,j]:=true;
readln(n,m,x,y);
a[x,y]:=false;
for i:=1 to 8 do
begin
p:=x+a1[i]; q:=y+a2[i];
if (p>=0)and(p<=n)and(q>=0)and(q<=m) then a[p,q]:=false;
end;
for i:=1 to n do f[i,0]:=1;
for j:=1 to m do f[0,j]:=1;
for i:=1 to n do
for j:=1 to m do
begin
if a[i,j]=false then f[i,j]:=0
else f[i,j]:=f[(i-1),j]+f[i,(j-1)];
end;
writeln(f[n,m]);
end.
回复
共 2 条回复,欢迎继续交流。
正在加载回复...