50pts求调玄关
查看原帖
50pts求调玄关
1493035
Aurora_awa楼主2025/2/7 14:47
#include <bits/stdc++.h>
#define LL long long
#define endl '\n'
#define Aurora main
#define pb push_back
// #define int __int128
using namespace std;
int N,M,lo[501][501],dp[201][201][201];
void read(int &x){//define int->__int128
	int f=1;x=0;
	char ch=getchar();
	while(ch<'0'||ch>'9'){
		if(ch=='-')f=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9'){
		x=(x<<1)+(x<<3)+(ch-'0');
		ch=getchar();
	}
	x*=f;
}
void write(int x){
	if(x<0)x*=-1,putchar('-');
	if(x>9)write(x/10);
	putchar(x%10+'0');
	return;
}
signed Aurora(){
    // ios::sync_with_stdio(false);
	read(M);read(N);
    for(int i=1;i<=M;i++) for(int j=1;j<=N;j++) read(lo[i][j]);
	// dp[2][1][1]=0;
    for(int k=3;k<=N+M;k++){
        for(int ii=1;ii<=M;ii++){
            for(int i2=1;i2<=M;i2++){
                int jj=k-ii,j2=k-i2;
                if(ii==i2&&jj==j2&&ii!=M&&j2!=N) continue;
                dp[k][ii][i2]=max(max(dp[k-1][ii][i2],dp[k-1][ii-1][i2]),max(dp[k-1][ii][i2-1],dp[k-1][ii-1][i2-1]))+lo[ii][k-ii]+lo[i2][k-i2];
            }
        }
    }
    write(dp[M+N][M][M]);
	exit(0);
}
// StRaIgHt InTo ThE lIgHtS I FoUnD mYsElF dEfEaTeD
/////////////////////////////
//          furry          //
/////////////////////////////
2025/2/7 14:47
加载中...