์๊ฐ ์ ํ | ๋ฉ๋ชจ๋ฆฌ ์ ํ | ์ ๋ต ๋น์จ |
1์ด | 512MB | 34.545% |
1012๋ฒ: ์ ๊ธฐ๋ ๋ฐฐ์ถ
์ฐจ์ธ๋ ์๋์ธ ํ๋๋ ๊ฐ์๋ ๊ณ ๋ญ์ง์์ ์ ๊ธฐ๋ ๋ฐฐ์ถ๋ฅผ ์ฌ๋ฐฐํ๊ธฐ๋ก ํ์๋ค. ๋์ฝ์ ์ฐ์ง ์๊ณ ๋ฐฐ์ถ๋ฅผ ์ฌ๋ฐฐํ๋ ค๋ฉด ๋ฐฐ์ถ๋ฅผ ํด์ถฉ์ผ๋ก๋ถํฐ ๋ณดํธํ๋ ๊ฒ์ด ์ค์ํ๊ธฐ ๋๋ฌธ์, ํ๋๋ ํด์ถฉ ๋ฐฉ์ง์ ํจ๊ณผ์ ์ธ ๋ฐฐ์ถํฐ์ง๋ ์ด๋ฅผ ๊ตฌ์ ํ๊ธฐ๋ก ๊ฒฐ์ฌํ๋ค. ์ด ์ง๋ ์ด๋ ๋ฐฐ์ถ๊ทผ์ฒ์ ์์ํ๋ฉฐ ํด์ถฉ์ ์ก์ ๋จน์์ผ๋ก์จ ๋ฐฐ์ถ๋ฅผ ๋ณดํธํ๋ค. ํนํ, ์ด๋ค ๋ฐฐ์ถ์ ๋ฐฐ์ถํฐ์ง๋ ์ด๊ฐ ํ ๋ง๋ฆฌ๋ผ๋ ์ด๊ณ ์์ผ๋ฉด ์ด ์ง๋ ์ด๋ ์ธ์ ํ ๋ค๋ฅธ ๋ฐฐ์ถ๋ก ์ด๋ํ ์ ์์ด, ๊ทธ ๋ฐฐ์ถ๋ค ์ญ์ ํด์ถฉ์ผ๋ก๋ถํฐ ๋ณดํธ๋ฐ์ ์ ์๋ค. (
www.acmicpc.net
๋ฌธ์
ํ๋๊ฐ ๋ฐฐ์ถ๋ฅผ ์ฌ๋ฐฐํ๋ ๋ ์ ๊ณ ๋ฅด์ง ๋ชปํด์ ๋ฐฐ์ถ๋ฅผ ๊ตฐ๋ฐ๊ตฐ๋ฐ ์ฌ์ด๋์๋ค. ๋ฐฐ์ถ๋ค์ด ๋ชจ์ฌ์๋ ๊ณณ์๋ ๋ฐฐ์ถํฐ์ง๋ ์ด๊ฐ ํ ๋ง๋ฆฌ๋ง ์์ผ๋ฉด ๋๋ฏ๋ก ์๋ก ์ธ์ ํด์๋ ๋ฐฐ์ถ๋ค์ด ๋ช ๊ตฐ๋ฐ์ ํผ์ ธ์๋์ง ์กฐ์ฌํ๋ฉด ์ด ๋ช ๋ง๋ฆฌ์ ์ง๋ ์ด๊ฐ ํ์ํ์ง ์ ์ ์๋ค.
์๋ฅผ ๋ค์ด ๋ฐฐ์ถ๋ฐญ์ด ์๋์ ๊ฐ์ด ๊ตฌ์ฑ๋์ด ์์ผ๋ฉด ์ต์ 5๋ง๋ฆฌ์ ๋ฐฐ์ถํฐ์ง๋ ์ด๊ฐ ํ์ํ๋ค.
(0์ ๋ฐฐ์ถ๊ฐ ์ฌ์ด์ ธ ์์ง ์์ ๋ ์ด๊ณ , 1์ ๋ฐฐ์ถ๊ฐ ์ฌ์ด์ ธ ์๋ ๋ ์ ๋ํ๋ธ๋ค.)
ํด๊ฒฐ
key point, DFS๋ก ๊ทธ๋ํ๊ฐ ๋ช ๊ฐ ์๋์ง ํ์ธ
- ๋ฐฐ์ถ๊ฐ ์๋ ๊ณณ์ 1๋ก ์ฑ์ฐ๊ณ
- ์ผ์ชฝ ์๋จ๋ถํฐ ๋ฐฐ์ถ๋ฐญ์ ํ์ํ๋ฉด์ ๋ฐฐ์ถ๊ฐ ์๋ค๋ฉด dfs ํจ์์ ๊ฐ๋ค.
- ์ํ์ข์ฐ 4๋ฐฉํฅ์ ๋ฐฐ์ถ๊ฐ ์๋ค๋ฉด ๋ฐฉ๋ฌธํ๋ค.
- ๋ฐฉ๋ฌธํ๋ค๋ ๊ฒ์ ํ์ํ๊ธฐ ์ํ์ฌ ๋ฐฐ์ถ๊ฐ ์ฌ์ด์ ธ ์์ง ์์ ๋ ์ธ๊ฒ ์ฒ๋ผ 0์ผ๋ก ํ์ํด์ค๋ค.
- ํจ์์์ ๋์ค๋ฉด ans++ํด์ ๋ฐฐ์ถ๋ค์ด ๋ชจ์ฌ์๋ ๊ณณ์ ์นด์ดํธํ๋ค.
์ฝ๋
๋ฉ๋ชจ๋ฆฌ | ์๊ฐ |
1996 KB | 0 ms |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#include <iostream>
#include <string.h>
using namespace std;
int t, n, m, k, arr[55][55], ans;
int dx[] = { 0,0,1,-1 }, dy[] = { 1,-1,0,0 };
void dfs(int x, int y) {
arr[x][y] = 0;
for (int k = 0; k < 4; k++) {
int nx = x + dx[k], ny = y + dy[k];
if (nx < 0 || ny < 0 || nx >= n || ny >= m || !arr[nx][ny]) continue;
dfs(nx, ny);
}
}
int main() {
scanf("%d", &t);
while (t--) {
scanf("%d%d%d", &n, &m, &k);
for (int i = 0, a, b; i < k; i++) {
scanf("%d%d", &a, &b);
arr[a][b] = 1;
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (arr[i][j]) {
dfs(i, j);
ans++;
}
}
}
printf("%d\n", ans);
ans = 0;
memset(arr, 0, sizeof(arr));
}
return 0;
}
|
cs |
ํ๊ธฐ
- ๊ทธ๋ ๊ฒ ํ๋ฆฌ์ง ๋ง์๊ณ ๋ค์งํ๋ memset → string.h ์์ ํ๋ ธ๊ณ
- or์ฐ์ฐ์์ | ํ๋๋ง์จ์
์ด ์ปดํ์ผ์๋ฌ 2๋ฒ ํ๋ฆฌ๊ณ ๋ง์๋ค ์ผ์ฝ.. ํ๊ธฐ๋ ๊ธ๋ฐฉ ํ์ด์ ๋คํ.
- ์ด์ ๊ณผ ๋ค๋ฅด๊ฒ chk๋ฐฐ์ด์ ๊ตณ์ด ์ฐ์ง ์์๋ ํ๋ฆฌ๋ ๊ฒ์ ์บ์นํ๊ณ arr๋ฐฐ์ด ํ๋๋ก ๋ฌธ์ ๋ฅผ ํ์๋ค.
'๐ฅ PS(Problem Solving) ๐ฅ > nํ๋ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] #1158 ์์ธํธ์ค ๋ฌธ์ (0) | 2020.05.02 |
---|---|
[BOJ] #14502 ์ฐ๊ตฌ์ (0) | 2020.04.23 |
๋๊ธ