프로그래밍 언어/C언어

백준 > 1018 체스판 다시 칠하기

B612 2022. 1. 11. 10:42
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
38
39
40
41
42
43
44
45
46
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int min = 65;
 
int minf(int a, int b) {
    min = a > b ? b : a;
}
 
int main() {
    int n, m;
    char arr[50][50= { 0, };
    int count = 0;
    int bcount = 0;
 
    scanf("%d %d"&n, &m);
    for (int i = 0; i < n; i++) {
        scanf("%s"&arr[i]);
    }
 
    for (int i = 0; i < n - 7; i++) { //이제 전체 체스판 도는 코드를 만들어야지...
        for (int j = 0; j < m - 7; j++) {
            count = 0;
            bcount = 0;
            for (int k = i; k < i + 8; k++) { //체스판 한 칸
                for (int l = j; l < j + 8; l++) {
                    if ((k + l) % 2 == 0) {
                        if (arr[k][l] != 'W')
                            count++;
                        else
                            bcount++;
                    }
                    else {
                        if (arr[k][l] != 'B')
                            count++;
                        else
                            bcount++;
                    }
                }
            }
            minf(min, count);
            minf(min, bcount);
        }
    }
    printf("%d", min);
}
cs

지민아 내가 돈 줄게... 체스판 하나 사자...

 

https://mjeong9316.tistory.com/167

 

[C 언어] 백준 1018. 체스판 다시 칠하기

1018. 체스판 다시 칠하기 (누르면 해당 문제로 이동) N번째 종말의 수가 나올 때까지 차례대로 시도하는 문제 제약사항) 시간 : 2 초 메모리 : 128 MB 문제) 지민이는 자신의 저택에서 MN개의 단위 정

mjeong9316.tistory.com

이 블로그가 도움 되었다

특히 행과 열의 합이 짝수인지 아닌지에 따라 체스판의 색을 확인할 수 있다는 게 큰 힌트였다.

'프로그래밍 언어 > C언어' 카테고리의 다른 글

백준 > 2231 분해합  (0) 2022.02.01
백준 > 2108 통계학  (0) 2022.01.12
백준 > 11050 이항 계수 1  (0) 2022.01.07
백준 > 10250 ACM 호텔  (0) 2021.12.27
백준 > 2839 설탕 배달  (0) 2021.12.24