#include <cstdio> #include <map> #include <iostream> #include<cstring> #include<bits/stdc++.h> #define ll long long int #define M 6 using namespace std; inline ll gcd(ll a,ll b){return b?gcd(b,a%b):a;} inline ll lcm(ll a,ll b){return a/gcd(a,b)*b;} int moth[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int dir[4][2]={1,0 ,0,1 ,-1,0 ,0,-1}; int dirs[8][2]={1,0 ,0,1 ,-1,0 ,0,-1, -1,-1 ,-1,1 ,1,-1 ,1,1}; const int inf=0x3f3f3f3f; const ll mod=1e9+7; int sum[20007][2]; int main(){ ios::sync_with_stdio(false); int m,n; while(cin>>m>>n){ for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ cin>>sum[j][0]; } for(int j=2;j<=n;j++) sum[j][0]=max(sum[j][0]+sum[j-2][0],sum[j-1][0]); sum[i][1]=sum[n][0]; } for(int i=2;i<=m;i++) sum[i][1]=max(sum[i][1]+sum[i-2][1],sum[i-1][1]); cout<<sum[m][1]<<endl; } }
原文:https://www.cnblogs.com/wmj6/p/10391080.html