忠告!(如果你样例输出了98)
查看原帖
忠告!(如果你样例输出了98)
524801
不食嗟来之食楼主2022/11/21 17:57

如果你写的是 dpdp or dfsdfs,但是你跑样例跑出来了98,原因可能是

f[0][0]=1;
f[1][2]=1;
for(int i=2; i<=m; i++) {
	for(int j=0; j<=n; j++) {
		if(j-2>=0) f[i][j]+=f[i-1][j-2];
		if(j-1>=0) f[i][j]+=f[i-2][j-1];
		f[i][j]+=f[i-2][j+1];
		f[i][j]+=f[i-1][j+2];
	}
}

虽然题目没说,但是隐含的限制条件是不能跳出棋盘(要是可以跳出去的话第二层循环跑2*i即可)

2022/11/21 17:57
加载中...