travel

#include<bits/stdc++.h>
using namespace std;
int m,n,maxx,a[101][20005],i,j;
int main() {
    cin>>m>>n;    //m行 n列  m=5,n=10
    for(i=1; i<=m; i++)
        for(j=1; j<=n; j++)
            cin>>a[i][j];    
//----------输入--------------------------- 
    for(j=2; j<=n; j++) {
        maxx=0;
        for(i=1; i<=m; i++) {
            if(a[i][j-1]>maxx) maxx=a[i][j-1];
        }
        for(i=1;i<=m;i++)
        a[i][j]+=maxx;
    }
//-----------核心哪,真的好难懂-------------
    maxx=0;
    for(i=1;i<=m;i++)
    for(j=1;j<=n;j++){
        if(a[i][j]>maxx) maxx=a[i][j];
    }
    cout<<maxx;
    return 0;
}
//哇,我的天哪,刚刚好可怕 
/*当j等于2的时候
哦,我真的懂了,原来是替换,
就是把第一次的最大值加到第二个里面。
最后在比较最后一列那个最大,就输出那个最大的,
ok好开心,等下再写一遍啊

猜你喜欢

转载自www.cnblogs.com/cjoierzj/p/9439352.html