특이한 형태로 퍼져나가는 곰팡이가 있을 때 맵 전체를 덮는 경우가 있는지 없는지 물어보는 문제다.



힌트 1. 시간제한이 없다.


이 말은 즉 특정 조건을 만족하면 무조건 맵을 덮는다는 뜻이다.


힌트 2. 2번 예


2번을 더 진행시켜 보면 이전에 덮었던 곳을 유지한 채 바깥으로 점점 확장한다.



2번 예에서 조금 다른 경우를 생각해보자. 체스판에서 같은 색에 속하지만 가로나 세로로 짝수만큼 차이나는 곳에 곰팡이가 존재할 경우


이렇게 주기적으로 빈 곳이 생긴다.


결론적으로 맵을 체스판으로 생각했을 때 각각의 색에 가로나 세로로 홀수만큼 차이나는 곳에 곰팡이가 모두 존재한다면


무조건 곰팡이가 맵을 모두 덮는다.


<코드>

1
2
3
4
5
6
7
8
9
10
11
12
#include<stdio.h>
int n, m, k, x, y;
bool c[2][2];
 
int main() {
    scanf("%d%d%d"&n, &m, &k);
    while (k--) {
        scanf("%d%d"&x, &y);
        c[(x + y) % 2][y % 2= 1;
    }
    printf(c[0][0& c[0][1& c[1][0& c[1][1] ? "YES\n" : "NO\n");
}
cs


'BOJ' 카테고리의 다른 글

2570 비숍  (0) 2017.08.30
2316 도시 왕복하기  (0) 2017.08.30
9333 돈 갚기  (0) 2017.08.30
1765 닭싸움 팀 정하기  (0) 2017.08.30
4/5 boj  (0) 2017.04.05

+ Recent posts