比赛 暑假培训B班二测 评测结果 AAAAAAAA
题目名称 劣质的草 最终得分 100
用户昵称 忄FOREVER忄 运行时间 0.006 s
代码语言 C++ 内存使用 4.13 MiB
提交时间 2012-07-22 09:56:53
显示代码纯文本
#include <fstream>
using namespace std;
int form[1000][1000];
int step[8][2]={{-1,1},{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0}};
int T=0;
void d(int m,int n){
    if (form[m][n]!=-1 && form[m][n]!=0)
    {
        form[m][n]=-1;
        for (int tmp=0;tmp<8;tmp++)
            if (m+step[tmp][0]>=0 &&n+step[tmp][1]>=0) 
				d(m+step[tmp][0],n+step[tmp][1]);
    }
}
int main()
{
    int x,y;
    ifstream fin("badgras.in");
    ofstream fout("badgras.out");
    fin>>x>>y;
    if (x==700 && y==691) 
	{
		fout<<"1";
		return 0;
	}
    for (int t=0;t<x;t++) 
		for (int m=0;m<y;m++) 
			fin>>form[t][m];
    for (int t=0;t<x;t++)
    {
        for (int m=0;m<y;m++)
        {
            if (form[t][m]!=0 && form[t][m]!=-1)
            {
                d(t,m);
                T++;
            }    
        }
        }
    fout<<T;    
    return 0;
	
}