#include <stdio.h> #include <iostream> #include <algorithm> #include <vector> using namespace std; int N, L; int map[110][110]; int ans; void Rotate() { int temp[110][110]; for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) { temp[i][j] = map[i][j]; } } for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) { map[i][j] = temp[N-1-j][i]; } } } int main(void) { // freopen("B14890_input.txt", "r", stdin); cin >> N >> L; for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) { cin >> map[i][j]; } } for(int i = 0; i < N; i++) { int up = 0; for(int j = 0; j < N-1; j++) { // 내리막 if(map[i][j]-map[i][j+1] == 1) { int std = map[i][j]; int cnt = 0; for(int k = j+1; k <= j+L && k < N; k++) { if(std-1 == map[i][k]) { cnt++; } else { break; } } if(cnt != L) { break; } else { j += (L-1); up = j+2; } } // 오르막 else if(map[i][j]-map[i][j+1] == -1) { int std = map[i][j+1]; int cnt = 0; for(int k = j; k > j-L && k >= up; k--) { if(std-1 == map[i][k]) { cnt++; } else { break; } } if(cnt != L) { break; } } // 평지 else if(map[i][j]-map[i][j+1] == 0) { // pass } else { break; } if(j >= N-2) { ans++; break; } } } // 왼쪽 90도 회전 Rotate(); for(int i = 0; i < N; i++) { int up = 0; for(int j = 0; j < N-1; j++) { // 내리막 if(map[i][j]-map[i][j+1] == 1) { int std = map[i][j]; int cnt = 0; for(int k = j+1; k <= j+L && k < N; k++) { if(std-1 == map[i][k]) { cnt++; } else { break; } } if(cnt != L) { break; } else { j += (L-1); up = j+2; } } // 오르막 else if(map[i][j]-map[i][j+1] == -1) { int std = map[i][j+1]; int cnt = 0; for(int k = j; k > j-L && k >= up; k--) { if(std-1 == map[i][k]) { cnt++; } else { break; } } if(cnt != L) { break; } } // 평지 else if(map[i][j]-map[i][j+1] == 0) { // pass } else { break; } if(j >= N-2) { ans++; break; } } } cout << ans; return 0; } | cs |
'Baekjoon > Simulation' 카테고리의 다른 글
[백준 16235] 나무 재테크 (Simulation) (C/C++) (★) (0) | 2020.03.27 |
---|---|
[백준 15685] 드래곤 커브 (Simulation) (C/C++) (★★) (0) | 2020.03.27 |
[백준 14503] 로봇 청소기 (Simulation) (C/C++) (★★) (0) | 2020.03.27 |
[백준 14499] 주사위 굴리기 (Simulation) (C/C++) (★★) (0) | 2020.03.26 |
[백준 5566] 주사위 게임 (Simulation) (C/C++) (0) | 2020.03.25 |