그냥 구현문제. 범위체크하기 귀찮으니까 맵 바깥을 패딩해놓고 조건에 맞게 검사하면 된다.


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
#include <stdio.h>
 
int map[29][29], i, j;
int dx[] = { 0,1,1,-1 }, dy[] = { 1,1,0,1 };
 
int main() {
    for (i = 5; i < 24; i++for (j = 5; j < 24; j++
        scanf("%d"&map[i][j]);
    
    for (i = 5; i < 24; i++for (j = 5; j < 24; j++) {
        if (map[i][j] < 1continue;
        for (int l = 0, k; l < 4; l++) {
            if (map[i][j] == map[i - dx[l]][j - dy[l]]) continue;
            for (k = 1; k < 6; k++) {
                if (map[i + dx[l] * k][j + dy[l] * k] != map[i][j]) break;
            }
            if (k == 5) {
                printf("%d\n%d %d", map[i][j], i - 4, j - 4);
                return 0;
            }
        }
    }
    printf("0");
    return 0;
}
cs


'BOJ' 카테고리의 다른 글

15683 감시  (0) 2018.08.29
15685 드래곤 커브  (0) 2018.08.29
1213 팰린드롬 만들기  (0) 2018.04.04
14868 문명  (0) 2018.04.04
2887 행성 터널  (0) 2018.04.04

+ Recent posts