-
[SWEA 1206] ViewC 프로그래밍/SWEA 2022. 11. 17. 01:18728x90
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh
#include <cstdio> #include <cstring> int T; int N; int tower[1000 + 2]; // 건물개수 최대 1000개 int tmp[1000 + 2]; void init() { memset(tower, 0, sizeof(tower)); } void input() { scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%d", &tower[i]); } } int is_riverside() { // init int cnt = 0; memcpy(tmp, tower, sizeof(tower)); for (int i = 0 + 2; i < N - 2; i++) { if (tower[i - 2] >= tower[i]) continue; if (tower[i - 1] >= tower[i]) continue; if (tower[i + 1] >= tower[i]) continue; if (tower[i + 2] >= tower[i]) continue; cnt++; tmp[i] -= 1; } memcpy(tower, tmp, sizeof(tmp)); return cnt; } int search_all() { int total = 0; while (1) { int cnt = is_riverside(); if (cnt == 0) return total; total += cnt; } } int main() { for (int t = 1; t <= 10; t++) { init(); input(); printf("#%d %d",t, search_all()); } return 0; }
728x90'C 프로그래밍 > SWEA' 카테고리의 다른 글
[SWEA 2805] 농작물 수확하기 (0) 2022.11.17 [SWEA 1974] 스도쿠 검증 (0) 2022.11.17 [SWEA 1204] 최빈수 구하기 (0) 2022.11.17 [SWEA 2105] 디저트 카페 (0) 2022.11.10 [SWEA 1868] 파핑파핑 지뢰찾기 (0) 2022.11.09