比赛 暑假培训B班二测 评测结果 AAAAAAEA
题目名称 劣质的草 最终得分 87
用户昵称 日光。 运行时间 0.129 s
代码语言 C++ 内存使用 4.13 MiB
提交时间 2012-07-22 09:53:02
显示代码纯文本
#include<iostream>
#include<fstream>
using namespace std;
int move[1000][1000];
int a[8][2]={{-1,1},{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0}};
int search(int m,int n)
{
	if(move[m][n]!=-1&&move[m][n]!=0)
	{
		move[m][n]=-1;
		for(int temp=0;temp<8;temp++)
		{
			if(m+a[temp][0]>=0&&n+a[temp][1]>=0)
			{
				search(m+a[temp][0],n+a[temp][1]);
			}
		}
	}
}
int main()
{
	ifstream fin("badgras.in");
	ofstream fout("badgras.out");
	int R,C;
	int num=0;
	fin>>R>>C;
	for(int i=0;i<R;i++)
	{
		for(int j=0;j<C;j++)
		{
			fin>>move[i][j];
		}
	}
	for(int i=0;i<R;i++)
	{
		for(int j=0;j<C;j++)
		{
			if(move[i][j]!=-1&&move[i][j]!=0)
			{
				search(i,j);
				num++;
			}
		}
	}
	fout<<num<<endl;
	return 0;
}