各位大神,“方格取数”这道题我代码提交没有全对,可以帮忙看一看错误吗?谢谢!
查看原帖
各位大神,“方格取数”这道题我代码提交没有全对,可以帮忙看一看错误吗?谢谢!
1427244
hesongjun楼主2024/8/18 15:42

代码如下,不知道错哪里了:```c #include<bits/stdc++.h> using namespace std; int a[105][105],b[30],c[30],max3=0,max4=0,n; int dfs(int x,int y,int max1){ int max2=max1+a[x][y]; max3++; if(x!=n){ b[max3]=1; dfs(x+1,y,max2); } if(y!=n){ b[max3]=2; dfs(x,y+1,max2); } if(x==n&&y==n){ if(max2>max4){ for(int i=1;i<=max3;i++) c[i]=b[i]; max4=max2; } } max3--; return 0; } int main(){ int x,y,z,maxx; cin>>n; for(;;){ cin>>x>>y>>z; if(x==0&&y==0&&z==0) break; a[y][x]=z; } dfs(1,1,0); x=1,y=1; for(int i=1;i<=2n-2;i++){ a[x][y]=0; if(c[i]==1) x++; else y++; } a[x][y]=0; for(int i=1;i<=2n-2;i++) b[i]=0; maxx=max4; max4=0; dfs(1,1,0); cout<<maxx+max4; return 0; }

2024/8/18 15:42
加载中...