10 条题解

  • 1
    @ 2026-8-6 15:31:44
    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    #include <queue>
    #include <math.h>
    #include <vector>
    #include <algorithm>
    #include <iomanip>
    #include <stack>
    
    using namespace std;
    
    #define LL long long
    const int N =1e5+10;
    const int INF =0x3f3f3f3f;
    LL a[10010][10010];
    LL t,n,m,ans;
    int main(){
    	cin>>t;
    	while(t--){
    		cin>>n>>m;
    		for(LL i=1;i<=n;i++){
    			for(LL j=1;j<=m;j++){
    				cin>>a[i][j];
    				a[i][j]+=max(a[i-1][j],a[i][j-1]);
    			}
    		}
    		cout<<a[n][m]<<endl;
    	}
    	return 0;
    }
    //包AC!!!
    
    • 0
      @ 2025-9-21 18:33:43
      #define LL long long
      using namespace std;
      const int INF = 0x3f3f3f3f;
      const int N = 1e5 + 10;
      int a[105][105];
      int main()
      {
      	int t;
      	cin >> t;
      	while( t-- )
      	{
      		int r,c;
      		cin>>r>>c;
      		for(int i=1;i<=r;i++)
      		{
      			for(int j=1;j<=c;j++)
      			{
      				cin>>a[i][j];
      			}
      		}
      		for(int i=1;i<=r;i++)
      		{
      			for(int j=1;j<=c;j++)
      			{
      				a[i][j]+=max(a[i-1][j],a[i][j-1]);
      			}
      		}
      		cout<<a[r][c]<<endl;
      	}
      	return 0;
      }
      
      
      
      • 0
        @ 2025-9-21 18:17:30
        #include<bits/stdc++.h>
        #define endl '\n'
        using namespace std;
        const int N=1e5+5,INF=0x3f3f3f3f,MOD=1e9+7;
        const int dx[]={1,-1,0,0},dy[]={0,0,1,-1};
        typedef long long LL;
        int t,n,m;
        int main(){
        	ios::sync_with_stdio(false);
        	cin.tie(nullptr);cout.tie(nullptr);
        	cin>>t;
        	while(t--){
        		cin>>n>>m;
        		vector<vector<int>>dp(n+1,vector<int>(m+1));
        		for(int i=1;i<=n;i++)
        			for(int j=1;j<=m;j++){
        				cin>>dp[i][j];
        				dp[i][j]+=max(dp[i-1][j],dp[i][j-1]);
        			}
        		cout<<dp[n][m]<<endl;
        	}
        	return 0;
        }
        
        
      • 0
        @ 2025-6-13 13:03:41
        /****************************************
        Note:
        ****************************************/
        #include <queue>
        #include <math.h>
        #include <stack>
        #include <vector>
        #include <stdio.h>
        #include <iostream>
        #include <vector>
        #include <iomanip>
        #include <string.h>
        #include <cstring>
        #include <algorithm>
        #define int long long
        using namespace std;
        const int N = 1e6 + 10;
        const int INF = 0x3f3f3f3f;
        int n;
        int dp[1010][1010],num[1010][1010];
        int maxx;
        signed main(){
        	cin >> n;
        	while(n--){
        		int r,c;
        		cin >> r >> c;
        		for(int i=1;i<=r;i++)
        			for(int j=1;j<=c;j++)
        				cin >> num[i][j];
        		for(int i=1;i<=r;i++)
        			for(int j=1;j<=c;j++)
        				num[i][j] += max(num[i-1][j],num[i][j-1]);
        		cout << num[r][c] << endl;
        	}
        	return 0;
        }
        
        

        `

        • 0
          @ 2023-12-3 18:55:56
          /************************************
          Note Book:
          ************************************/
          #include <iostream>
          #include <cstdio>
          #include <iomanip>
          #include <cmath>
          #include <algorithm>
          #include <cstring>
          #include <string>
          #include <stack>
          #include <queue>
          #include <math.h>
          #define LL long long
          using namespace std;
          const int INF = 0x3f3f3f3f;
          const int N = 1e5 + 10;
          int a[105][105];
          int main()
          {
          	int t;
          	cin >> t;
          	while( t-- )
          	{
          		int n , m ;
          		cin >> n >> m;
          		for(int i = 1; i <= n; i++)
          		{
          			for(int j = 1; j <= m; j++)
          			{
          				cin >> a[i][j];
          			}
          		}
          		for(int i = 1; i <= n; i++)
          		{
          			for(int j = 1; j <= m; j++)
          			{
          				a[i][j] += max(a[i-1][j] , a[i][j-1]);
          			}
          		}
          		cout << a[n][m] << endl;
          	}
          	return 0;
          }
          
          • 0
            @ 2023-4-30 16:12:11
            #include<cstdio>
            #include<algorithm>
            #include<iostream>
            using namespace std;
            int f[1001][1001],r,c,i,j;
            int t;
            int main()
            {
            	scanf("%d",&t);
            	while(t--)
            	{
            		scanf("%d%d",&r,&c);
            		for(i=1;i<=r;++i)
            		{
            			for(j=1;j<=c;++j)
            			{
            				scanf("%d",&f[i][j]);
            			}
            		}
            		for(i=1;i<=r;++i)
            		{
            			for(j=1;j<=c;++j)
            			{
            				f[i][j]+=max(f[i-1][j],f[i][j-1]);
            			}
            		}
            		printf("%d\n",f[r][c]);
            	}
            	return 0;
            }
            
            • 0
              @ 2022-3-5 19:07:53
              #include <iostream>
              #include <stdio.h>
              #include <string.h>
              #include <queue>
              #include <math.h>
              #include <vector>
              #include <algorithm>
              #include <iomanip>
              #include <stack>
              
              using namespace std;
              
              #define LL long long
              const int N =1e5+10;
              const int INF =0x3f3f3f3f;
              LL a[10010][10010];
              LL t,n,m,ans;
              int main(){
              	cin>>t;
              	while(t--){
              		cin>>n>>m;
              		for(LL i=1;i<=n;i++){
              			for(LL j=1;j<=m;j++){
              				cin>>a[i][j];
              				a[i][j]+=max(a[i-1][j],a[i][j-1]);
              			}
              		}
              		cout<<a[n][m]<<endl;
              	}
              	return 0;
              }
              • 0
                @ 2021-10-10 10:35:29
                #include <iostream>
                #include <stdio.h>
                #include <string.h>
                #include <math.h>
                #include <queue>
                #include <stack>
                #include <algorithm>
                const int N = 1e6 + 10;
                using namespace std;
                int t, n, m, dp[110][110], ans;
                int read() {
                    char ch = getchar();
                    int f = 1, num = 0;
                
                    while (ch < '0' || ch > '9') {
                        if (ch == '-')
                            f = -1;
                
                        ch = getchar();
                    }
                
                    while (ch >= '0' && ch <= '9') {
                        num = num * 10 + ch - '0';
                        ch = getchar();
                    }
                
                    return num * f;
                }
                int main() {
                    t = read();
                
                    while (t--) {
                        n = read(), m = read();
                
                        for (int i = 1; i <= n; i++)
                            for (int j = 1; j <= m; j++)
                                dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + read();
                
                        printf("%d\n", dp[n][m]);
                    }
                }
                
                • 0
                  @ 2021-10-10 10:34:33
                  #include <iostream>
                  #include <algorithm>
                  using namespace std;
                  const int N = 1e3 + 10; 
                  int a[N][N];
                  int main(){
                  	int n;
                  	cin >> n;
                  	for(int i = 1; i <= n; i++){
                  		for(int j = 1; j <= i; j++){
                  			cin >> a[i][j];
                  		}
                  	}
                  	for(int i = 1; i <= n; i++){
                  		for(int j = 1; j <= i; j++){
                  			a[i][j] = max(a[i-1][j-1], a[i-1][j]) + a[i][j];
                  		}
                  	}
                  	int maxx = 0;
                  	for(int i = 1; i <= n; i++){
                  		maxx = max(maxx, a[n][i]);
                  	}
                  	cout << maxx << endl;
                  }
                  
                  • -3
                    @ 2021-10-10 10:30:23
                    #include <math.h>
                    #include <stdio.h>
                    #include <iostream>
                    #include <string.h>
                    #include <algorithm>
                    using namespace std;
                    int a[105][105];
                    int main()
                    {
                        int t;
                        cin >> t;
                        while(t--)
                        {
                            int n , m;
                            cin >>n >> m;
                            for(int i = 1 ; i <= n ; i++)
                                for(int j =1 ; j <= m ; j++)
                                    cin >> a[i][j];
                            for(int i = 1 ; i <= n ; i++)
                                for(int j = 1 ;j <= m ; j++)
                                    a[i][j] += max(a[i-1][j] , a[i][j-1]);
                    
                            cout << a[n][m] << endl;
                        }
                        return 0;
                    }
                    
                    • 1

                    信息

                    ID
                    1341
                    时间
                    1000ms
                    内存
                    256MiB
                    难度
                    4
                    标签
                    递交数
                    459
                    已通过
                    197
                    上传者