求助,0分,全WA,没超时

P1002 [NOIP2002 普及组] 过河卒

``` for(int i=3;i<=n;i++) for(int j=3;j<=m;j++) if(x[i][j]!=0) x[i][j]==x[i-1][j]+x[i][j-1]; ``` 为什么要从3开始?
by Lyrith_with_xQ @ 2024-03-02 11:17:28


还有`x[i][j]==x[i-1][j]+x[i][j-1];`要改成`x[i][j]=x[i-1][j]+x[i][j-1];`,赋值是一个等号
by Lyrith_with_xQ @ 2024-03-02 11:18:21


《==》
by Fractured_Angel @ 2024-03-02 12:14:48


@[Lyrith_with_xQ](/user/1044870) 谢谢!你帮我把分数提到了60分(没有满分),麻烦做进一步改进 错在3、4测试点 ``` #include<iostream> using namespace std; int x[26][26]; int main(){ //开四个点位,避免数组越界 int n,m,mn,mm; long long shuchu; cin>>n>>m>>mn>>mm; mn+=2; mm+=2; n+=2; m+=2; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++) x[i][j]=1; } x[mn][mm]=0; x[mn+1][mm+2]=0; x[mn+1][mm-2]=0; x[mn+2][mm-1]=0; x[mn+2][mm+1]=0; x[mn-1][mm+2]=0; x[mn-1][mm-2]=0; x[mn-2][mm-1]=0; x[mn-2][mm+1]=0; for(int i=3;i<=n;i++) for(int j=3;j<=m;j++) if(x[i][j]!=0) x[i][j]=x[i-1][j]+x[i][j-1]; cout<<x[n][m]; } ```
by 13860121259AaBb @ 2024-03-02 19:49:17


@[13860121259AaBb](/user/1264600) ```c for(int i=3;i<=n;i++) for(int j=3;j<=m;j++) if(x[i][j]!=0) x[i][j]=x[i-1][j]+x[i][j-1]; ``` 为什么要从3开始?
by Lyrith_with_xQ @ 2024-03-02 20:23:21


还有你把dp数组全标上1干什么
by Lyrith_with_xQ @ 2024-03-02 20:24:26


不能走的点应该额外开个数组标记啊
by Lyrith_with_xQ @ 2024-03-02 20:25:08


@[Lyrith_with_xQ](/user/1044870) 我怕数组越界,所以故意把数组开大了
by 13860121259AaBb @ 2024-03-05 13:16:00


@[Lyrith_with_xQ](/user/1044870) 不用啊
by 13860121259AaBb @ 2024-03-05 13:16:42


测试点3的数据是:输入20 20 4 0输出56477364570 这你输出不对,少了1位数啊
by qusia_MC @ 2024-03-05 20:17:48


| 下一页