真要炸了~~我的输入为什么有问题?
查看原帖
真要炸了~~我的输入为什么有问题?
1124438
hgfs楼主2024/5/20 10:26

第2个测试点,50*50的数据,自己调试的时候,复制粘贴,只能输进去30行,再就输不进去了,换一次行就可以继续输了。然后答案还是错的。

#include<bits/stdc++.h>
using namespace std;
int n,m,ma[55][55],f[110][55][55];
int main(){
	cin>>m>>n;
	for(int i=1;i<=m;i++) for(int j=1;j<=n;o++) cin>>ma[i][j];
	//for(int i=1;i<=m;i++) for(int o=1;o<=n;o++) cout<<ma[i][o]<<" ";
	for(int i=2;i<=m+n;i++)
	for(int o=1;o<=m;o++)
	for(int p=1;p<=m;p++){//i是p,o是x1,p是x2。 
		int y_1=i-o,y2=i-p;
		int t=ma[o][y_1]+ma[p][y2];
		if(o==p) continue;
		f[i][o][p]=max(f[i][o][p],f[i-1][o-1][p-1]+t);
		f[i][o][p]=max(f[i][o][p],f[i-1][o][p-1]+t);
		f[i][o][p]=max(f[i][o][p],f[i-1][o-1][p]+t);
		f[i][o][p]=max(f[i][o][p],f[i-1][o][p]+t);
		//cout<<"f["<<i<<"]["<<o<<"]["<<p<<"]="<<f[i][o][p]<<" "<<ma[o][y_1]<<endl;
	}
	cout<<max(f[n+m][m-1][m],f[n+m][m][m-1]);
	return 0;
}

某蒟蒻已......

2024/5/20 10:26
加载中...