반응형

 

<코드>

#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
using namespace std;

int map[51][51];
int dx[4] = { 1,-1,0,0 };
int dy[4] = { 0,0,1,-1 };
int M, N, K; // 가로, 세로, 배추 수
int T, u, v;
int earthworm;
queue<pair<int,int>> q;

void BFS(int x, int y)
{
	map[x][y] = 0;

	q.push(pair<int, int>(x, y));

	while (!q.empty())
	{
		int now_x = q.front().first;
		int now_y = q.front().second;
		
		q.pop();

		for (int i = 0; i < 4; i++)
		{
			int next_x = now_x + dx[i];
			int next_y = now_y + dy[i];
			if (next_x >= 0 && next_y >= 0 && next_x < N && next_y < M)
			{
				if (map[next_x][next_y] == 1)
				{
					map[next_x][next_y] = 0;
					q.push(pair<int, int>(next_x, next_y));
				}
			}
		}
	}
	earthworm++; 
}

int main() 
{
	ios::sync_with_stdio(0); 
	cin.tie(0); 

	cin >> T;

	while (T--)
	{
		// 맵 초기화
		for (int i = 0; i < 50; i++)
			for (int j = 0; j < 50; j++)
				map[i][j] = 0;

		earthworm = 0;

		cin >> M >> N >> K;

		for (int i = 0; i < K; i++)
		{
			cin >> u >> v;
			map[v][u] = 1;
		}

		for (int i = 0; i < 50; i++)
			for (int j = 0; j < 50; j++)
			{
				if (map[i][j] == 1) BFS(i, j);
			}

		cout << earthworm << '\n';

	}
}

 

 

 

www.acmicpc.net/problem/1012

 

1012번: 유기농 배추

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

www.acmicpc.net

 

반응형

+ Recent posts