萌新的求助——P2295 MICE
  • 板块P2295 MICE
  • 楼主Eraine
  • 当前回复5
  • 已保存回复5
  • 发布时间2020/7/15 11:41
  • 上次更新2023/11/6 23:06:32
查看原帖
萌新的求助——P2295 MICE
305891
Eraine楼主2020/7/15 11:41

我的代码#2~#4AC,其余全部WA,只得30.

#include<iostream>
#define MAX 1005
using namespace std;
int a[MAX][MAX],b[MAX][MAX],c[MAX][MAX],f[MAX][MAX];
int main(){
	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++)for(int k=i-1;k<=i+1;k++)b[i][j]+=a[k][j+1];
	for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)for(int k=j-1;k<=j+1;k++)c[i][j]+=a[i+1][k];
	f[1][1]=0;
	for(int i=1;i<=2;i++)for(int j=1;j<=2;j++)f[1][1]+=a[i][j];
	for(int i=2;i<=m;i++)f[1][i]=f[1][i-1]+b[1][i];
	for(int i=2;i<=n;i++)f[i][1]=f[i-1][1]+c[i][1];
	for(int i=2;i<=n;i++)for(int j=2;j<=m;j++){
		int sos=b[i][j]+f[i][j-1];
		int tot=c[i][j]+f[i-1][j];
		f[i][j]=min(sos,tot);
	}
	cout<<f[n][m];
	return 0;
}
2020/7/15 11:41
加载中...