본문 바로가기
프로그래밍 문제/BOJ(백준 온라인 저지)

[BOJ 1012번] 유기농 배추(C++)

by 테크케찰 2020. 9. 21.

www.acmicpc.net/problem/1012

 

1012번: 유기농 배추

차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 �

www.acmicpc.net

#include <stdio.h>

int arr[52][52] = { 0 };

void dfs(int x, int y)
{
	arr[y][x] = 0;
	if (arr[y][x+1] == 1)
		dfs(x + 1, y);
	if (arr[y][x - 1] == 1)
		dfs(x - 1, y);
	if (arr[y+1][x] == 1)
		dfs(x, y + 1);
	if (arr[y-1][x] == 1)
		dfs(x, y - 1);
}

int main(void)
{
	int l, k, i, j, x, y, a, b, testcase, num, cnt=0;
	scanf("%d", &testcase);
	for (k = 0; k < testcase; k++)
	{
		scanf("%d %d %d", &x, &y, &num);
		for (l = 0; l < num; l++)
		{
			scanf("%d %d", &a, &b);
			arr[b][a] = 1;
		}
		for (i = 0; i < x; i++)
		{
			for (j = 0; j < y; j++)
			{
				if (arr[j][i] == 1)
				{
					dfs(i, j);
					cnt++;
				}
			}
		}
		printf("%d\n", cnt);
		cnt = 0;
	}
}