그냥 구현문제. 범위체크하기 귀찮으니까 맵 바깥을 패딩해놓고 조건에 맞게 검사하면 된다.
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] < 1) continue; 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 |