并不知道哪里出了问题

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int m,n,x[51][51];
int main()
{

scanf("%d%d",&m,&n);
int h=0;int b=1;int a=1;
memset(x,0,sizeof(x));
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
scanf("%d",&x[i][j]);

do{
if (b==n&&a!=m||(x[a+1][b]>x[a][b+1]&&a<=m-1)) {h+=x[a+1][b];x[a+1][b]=-1;a++;} //如果下边比右边的大,则将下边的加到ht(heart)中,酱酱;
else if (a==m&&b!=n||(x[a][b+1]>x[a+1][b]&&b<=n-1)) {h+=x[a][b+1];x[a][b+1]=-1;b++;}

if (a==m&&b==n) continue;
// if (x[2][1]==x[1][2]==-1) break;
}while(!(x[m-1][n]==x[m][n-1]&&x[m-1][n]==-1&&x[m][n-1]==-1));
printf("%d",h);
return 0;

}

0 条评论

目前还没有评论...

信息

ID
1493
难度
5
分类
动态规划 点击显示
标签
递交数
6711
已通过
2508
通过率
37%
被复制
9
上传者