比赛 暑假培训B班二测 评测结果 AAAAAAAA
题目名称 劣质的草 最终得分 100
用户昵称 临轩听雨ゐ 运行时间 0.073 s
代码语言 C++ 内存使用 80.46 MiB
提交时间 2012-07-22 10:44:05
显示代码纯文本
#include<fstream>
using namespace std;
int a[1005][1005],b,c,d,p,q,h,t,l,s=0,x[10000001][2],y[9][2]={{-1,-1},{-1,0},{-1,1},{1,-1},{1,1},{1,0},{0,-1},{0,1}};
int main(void)
{
	ifstream fin("badgras.in");
	ofstream fout("badgras.out");
	int m,n;
	fin>>m>>n;
	for (c=0;c<m;c++)
		for (d=0;d<n;d++)
			fin>>a[c][d];
	for (c=0;c<m;c++)
		for (d=0;d<n;d++)
			if (a[c][d]!=0)
			{
				x[0][0]=c;
				x[0][1]=d;
				a[c][d]=0;
				t=0;
				h=1;
				while (h>=t)
				{
					for (l=0;l<8;l++)
					{
						x[h][0]=x[t][0]+y[l][0];
						x[h][1]=x[t][1]+y[l][1];
						if ((x[h][0]<0)||(x[h][1]<0)||(x[h][0]>=m)||(x[h][1]>=n)) continue;
						if (a[x[h][0]][x[h][1]]!=0) 
						{
							a[x[h][0]][x[h][1]]=0;
							h++;
						}
					}
					t++;
				}
				s++;
			}
	fout<<s;
	fin.close();
	fout.close();
	return 0;
}