社区讨论

关于+1就过了

P1004[NOIP 2000 提高组] 方格取数参与者 4已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@m0z6qgoh
此快照首次捕获于
2024/09/12 19:07
去年
此快照最后确认于
2024/09/12 19:17
去年
查看原帖
为社么输出时+1就过了?不加全WA?
CPP
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll M=15;
int n,a[M][M],dp[M][M][M][M];
int main()
{
	cin>>n;
	memset(dp,-1,sizeof(dp));
	while(1)
	{
		int x,y,num;
		cin>>x>>y>>num;
		if(x==0&&y==0&&num==0) break;
		a[x][y]=num;
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			for(int x=1;x<=n;x++)
			{
				for(int y=1;y<=n;y++)
				{
					int a1,a2,a3,a4;
					a1=dp[i-1][j][x-1][y];
					a2=dp[i-1][j][x][y-1];
					a3=dp[i][j-1][x][y-1];
					a4=dp[i][j-1][x-1][y];
					dp[i][j][x][y]=max(max(a1,a2),max(a3,a4));
					dp[i][j][x][y]+=a[i][j]+(i==x&&j==y?0:a[x][y]);
				}
			}
		}
	}
	cout<<dp[n][n][n][n]+1; 
	return 0;
}

回复

6 条回复,欢迎继续交流。

正在加载回复...