2 条题解

  • 0
    @ 2025-10-8 16:55:55
    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const int mod=1e9+7;
    const double eps=1e-8;
    const int INF=0x3f3f3f3f;
    const int maxn=1e5+5;
    const int maxm=1e6+5;
    int n,a[maxn][3],f[maxn][3];
    int main(int argc,char const *argv[]){
        std::ios::sync_with_stdio(false);
        cin >> n;
        for(int i=1; i <= n; ++i) cin >> a[i][0] >> a[i][1] >> a[i][2];
        for(int i=1; i <= n; ++i){
            f[i][0] = max(f[i-1][1], f[i-1][2]) + a[i][0];
            f[i][1] = max(f[i-1][0], f[i-1][2]) + a[i][1];
            f[i][2] = max(f[i-1][0], f[i-1][1]) + a[i][2];
        }
        cout << max(max(f[n][0], f[n][1]), f[n][2]); 
        return 0;
    }
    
    • 0
      @ 2025-10-8 16:55:42
      #include<bits/stdc++.h>
      using namespace std;
      typedef long long ll;
      const int mod=1e9+7;
      const double eps=1e-8;
      const int INF=0x3f3f3f3f;
      const int maxn=1e5+5;
      const int maxm=1e6+5;
      int n,a[maxn][3],f[maxn][3];
      int main(int argc,char const *argv[]){
      	std::ios::sync_with_stdio(False);
      	cin>>n;
      	for(int i=1;i<=n;++i)cin>>a[i][0]>>a[i][1]>>a[i][2];
      	for(int i=1;i<=n;++i){
      		f[i][0]=max(f[i-1][1],f[i-1][2])+a[i][0],
      		f[i][1]=max(f[i-1][0],f[i-1][2])+a[i][1],
      		f[i][2]=max(f[i-1][0],f[i-1][1])+a[i][2];
      	}
      	cout<<max(max(f[n][0],f[n][1]),f[n][2]); 
      	return 0;
      }
      • 1

      信息

      ID
      1155
      时间
      2000ms
      内存
      1024MiB
      难度
      4
      标签
      递交数
      100
      已通过
      49
      上传者