比赛 20181007 评测结果 ATAAAAATTT
题目名称 泥潭 最终得分 60
用户昵称 梦那边的美好ET 运行时间 4.963 s
代码语言 C++ 内存使用 10.94 MiB
提交时间 2018-10-06 19:01:19
显示代码纯文本
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<cstdio>
using namespace std;
int f[1010][1010],n,x,y,ans=0,a1,a2,mp[1010][1010];
int main(){
	freopen("mud.in","r",stdin);
	freopen("mud.out","w",stdout);
	scanf("%d%d%d",&x,&y,&n);
	for(int i=1;i<=n;i++){
	    scanf("%d%d",&a1,&a2);
		f[a1+500][a2+500]=-1;
	}
	f[500][500]=1;
	while(!f[x+500][y+500]){ans++;
	    for(int i=1;i<=1000;i++)
			for(int j=1;j<=1000;j++)
				mp[i][j]=f[i][j];
	    for(int i=1;i<=1000;i++)
			for(int j=1;j<=1000;j++)
				if((f[i-1][j]==1||f[i+1][j]==1||f[i][j-1]==1||f[i][j+1]==1)&&f[i][j]==0)
					mp[i][j]=1;
	    for(int i=1;i<=1000;i++)
			for(int j=1;j<=1000;j++)
				f[i][j]=mp[i][j];		
	}
	printf("%d",ans);
	return 0;
}