1 条题解
-
0
C :
#include<stdio.h> int main() { int max(int,int); int a[51][41],res[10000]; int T,x,y,i,j,k,mark; scanf("%d",&T); while(T--) { scanf("%d%d",&x,&y); for(i=0; i<=x; i++) { for(j=0; j<=y; j++) { a[i][j]=-101; } } for(i=0; i<x; i++) { for(j=1; j<=y; j++) { scanf("%d",&a[i][j]); } } for(i=x-1; i>=0; i--) { for(j=1; j<=y; j++) { a[i][j]=a[i][j]+max(a[i+1][j],a[i][j-1]); } } printf("%d\n",a[0][y]); } return 0; } int max(int a,int b) { int c; c=a>b?a:b; if(c>=(-100)) return c; else return 0; }
C++ :
#include<iostream> #include<algorithm> using namespace std; int main() { int a[50][50],t,x,y; cin>>t; while(t--) { cin>>x>>y; for(int i=1;i<=x;i++) for(int j=1;j<=y;j++) cin>>a[i][j]; for(int i=0;i<=x;i++) a[i][0] = -1000; for(int i=0;i<=y;i++) a[x+1][i] = -1000; a[x][0]=a[x+1][1]=0; for(int i=x ; i>=1;i--) for(int j=1;j<=y;j++) a[i][j]=max(a[i][j-1],a[i+1][j])+a[i][j]; cout<<a[1][y]<<endl; } return 0; }
- 1
信息
- ID
- 717
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者