为什么会废。。。
查看原帖
为什么会废。。。
230875
Surge_of_Force楼主2021/8/4 15:34

只有三十分

#include<bits/stdc++.h>
using namespace std;
const int MAX=1e3+10; 
int a[MAX][MAX],toon[MAX],todown[MAX],f[MAX];//记录向上和向下dp的结果 
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0); 
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)	
	    for(int j=1;j<=m;j++)
	    	cin>>a[i][j];
	memset(toon,-0x3f,sizeof(toon));
	memset(todown,-0x3f,sizeof(todown));
	//f[1]=a[1][1];
	//for(int i=1;i<=m;i++)
	    //f[i]=max(f[i-1],0)+a[1][i];
	for(int j=1;j<=m;j++)//列优先 
	{
		for(int i=1;i<=n;i++)
			todown[i]=max(todown[i-1],f[i])+a[i][j];
		for(int i=n;i>=1;i--)
		    toon[i]=max(toon[i+1],f[i])+a[i][j];
		for(int i=1;i<=n;i++)
		    f[i]=max(todown[i],toon[i]);
	}
	for(int i=1;i<=n;i++)
	    cout<<f[i]<<" ";
	//cout<<f[n];
	return 0;
}
2021/8/4 15:34
加载中...