多少分?
by ZkjTCTC @ 2020-09-17 21:26:21
0...
by Grace25 @ 2020-09-19 19:56:04
改动了一点
```cpp
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int r[23][23]={0},n,m,x,y;
cin>>n>>m>>x>>y;
x++;
y++;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
r[i][j]=r[i-1][j]+r[i][j-1];
r[1][1]=1;
r[1][2]=1;
r[2][1]=1;
//r[x][y]=0;
r[x-1][y-2]=0;
r[x-1][y+2]=0;
r[x+1][y-2]=0;
r[x+1][y+2]=0;
r[x+2][y-1]=0;
r[x+2][y+1]=0;
r[x-2][y-1]=0;
r[x-2][y+1]=0;
}
}
cout<<r[n][m]<<endl;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i == x && j == y){
cout<<"* ";
continue;
}
cout<<r[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
```
by Grace25 @ 2020-09-19 19:59:36
@[Grace25](/user/359883)
解题思路存在问题。边更新DP表,边赋初值,这样存在问题。应该是先确定各个点的初值,然后使用行优先(或者列优先)的顺序更新DP表。
by metaphysis @ 2020-09-19 20:06:55
大佬我不是用DP做的。。。
by Grace25 @ 2020-09-21 20:13:27