From 498c6959018eba07df701cca05a0a73cd865fff7 Mon Sep 17 00:00:00 2001 From: songyc macbook Date: Sat, 11 Oct 2025 16:37:36 +0900 Subject: [PATCH] 20251011 baekjoon --- code_study/Baekjoon/c/17144.c | 134 +++++++++++++++++++++++++++++ code_study/Baekjoon/python/2083.py | 12 +++ 2 files changed, 146 insertions(+) create mode 100644 code_study/Baekjoon/c/17144.c create mode 100644 code_study/Baekjoon/python/2083.py diff --git a/code_study/Baekjoon/c/17144.c b/code_study/Baekjoon/c/17144.c new file mode 100644 index 0000000..27a7a80 --- /dev/null +++ b/code_study/Baekjoon/c/17144.c @@ -0,0 +1,134 @@ +#include +#include +#include + +typedef struct Info { + int R; + int C; + int purifier_row; +} info; + +bool is_possible_diffusion(info map_info, int r, int c); +void diffusion(int** dust_map, info map_info); +int purify(int** dust_map, info map_info); + +int main() { + int R, C, T; + scanf("%d %d %d",&R, &C, &T); + + int total_dust = 0; + int purifier_row = 0; + bool find_air_purifier = false; + + int** dust_map = (int**)malloc(sizeof(int*)*R); + for(int r=0; r0) { + int diffusion_amount = dust_map[r][c]/5; + int diffusion_count = 0; + + for(int i=0; i<4; i++) { + int nr = r + dr[i]; + int nc = c + dc[i]; + + if(is_possible_diffusion(map_info, nr, nc)) { + temp_map[nr][nc] += diffusion_amount; + diffusion_count++; + } + } + + temp_map[r][c] += dust_map[r][c] - (diffusion_amount*diffusion_count); + } + } + } + + for(int r=0; r0; r--) dust_map[r][0] = dust_map[r-1][0]; + for(int c=0; c1; c--) dust_map[purifier_row][c] = dust_map[purifier_row][c-1]; + dust_map[purifier_row][1] = 0; + + // dowm: clock-wise + purify_dust += dust_map[purifier_row+2][0]; + for(int r=purifier_row+2; rpurifier_row+1; r--) dust_map[r][C-1] = dust_map[r-1][C-1]; + for(int c=C-1; c>1; c--) dust_map[purifier_row+1][c] = dust_map[purifier_row+1][c-1]; + dust_map[purifier_row+1][1] = 0; + + return purify_dust; +} diff --git a/code_study/Baekjoon/python/2083.py b/code_study/Baekjoon/python/2083.py new file mode 100644 index 0000000..b84494a --- /dev/null +++ b/code_study/Baekjoon/python/2083.py @@ -0,0 +1,12 @@ +info: tuple[str, str] = [] + +while True : + name, age, weight = input().split() + + if name == '#' : + break + + info.append((name, 'Senior' if int(age) > 17 or int(weight) >= 80 else 'Junior')) + +for s in info : + print(*s)