KDHzoot's Github

Code for study, project, etc

자세히보기

알고리즘/PS

[백준 14671] 영정이의 청소

kdhzoot 2018. 5. 26. 10:16

곰팡이가 이동하는 것을 보면 좌푯값 i, j의 i+j가 짝수인 줄과 홀수인 줄이 독립적이라는 것을 알 수 있다.

그리고 시간이 무한히 흘러간다고 가정하면 곰팡이가 한번 증식할 때마다 i의 좌표가 짝수->홀수, 홀수->짝수로 감을 알 수 있다.


따라서 초기 곰팡이의 위치가 4가지 경우가 모두 있으면 된다.

i+j가 홀수고 i가 홀수

i+j가 홀수고 i가 짝수

i+j가 짝수고 i가 홀수

i+j가 짝수고 i가 짝수


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
#include <stdio.h>
#include <string.h>
using namespace std;
bool chk[2][2];
 
int main(void) {
    int n, m, k;
 
    scanf("%d %d %d"&n, &m, &k);
 
    for (int i = 0; i < k; i++){
        int a, b;
        scanf("%d %d"&a, &b);
        chk[(a + b) % 2][b % 2= true;
    }
 
    for (int i = 0; i < 2; i++){
        for (int j = 0; j < 2; j++){
            if (!chk[i][j]){
                printf("NO\n");
                return 0;;
            }
        }
    }
    printf("YES\n");
    return 0;
}
cs


'알고리즘 > PS' 카테고리의 다른 글

[백준 13901] 로봇  (0) 2018.06.04
[백준 10539] 수빈이와 수열  (0) 2018.05.27
[백준 14670] 병약한 영정  (0) 2018.05.26
[백준 14675] 단절점과 단절선  (0) 2018.05.26
[백준 12840] 창용이의 시계  (0) 2018.05.23