Skip to content

[20260215] BOJ / G3 / 나무 재테크 / 이준희#1936

Merged
ShinHeeEul merged 1 commit intomainfrom
JHLEE325
Feb 15, 2026
Merged

[20260215] BOJ / G3 / 나무 재테크 / 이준희#1936
ShinHeeEul merged 1 commit intomainfrom
JHLEE325

Conversation

@JHLEE325
Copy link
Contributor

🧷 문제 링크

https://www.acmicpc.net/problem/16235

🧭 풀이 시간

70분

👀 체감 난이도

✏️ 문제 설명

N*M의 땅에 각각 5의 양분이 있습니다.
이 땅에 나무를 심어서 재테크를 하려고 하는데, 나무의 성장은 아래와 같은 규칙으로 성장합니다.

봄에는 나무가 자신의 나이만큼 양분을 먹고, 나이가 1 증가한다. 각각의 나무는 나무가 있는 1×1 크기의 칸에 있는 양분만 먹을 수 있다. 하나의 칸에 여러 개의 나무가 있다면, 나이가 어린 나무부터 양분을 먹는다. 만약, 땅에 양분이 부족해 자신의 나이만큼 양분을 먹을 수 없는 나무는 양분을 먹지 못하고 즉시 죽는다.

여름에는 봄에 죽은 나무가 양분으로 변하게 된다. 각각의 죽은 나무마다 나이를 2로 나눈 값이 나무가 있던 칸에 양분으로 추가된다. 소수점 아래는 버린다.

가을에는 나무가 번식한다. 번식하는 나무는 나이가 5의 배수이어야 하며, 인접한 8개의 칸에 나이가 1인 나무가 생긴다. 어떤 칸 (r, c)와 인접한 칸은 (r-1, c-1), (r-1, c), (r-1, c+1), (r, c-1), (r, c+1), (r+1, c-1), (r+1, c), (r+1, c+1) 이다. 상도의 땅을 벗어나는 칸에는 나무가 생기지 않는다.

겨울에는 S2D2가 땅을 돌아다니면서 땅에 양분을 추가한다. 각 칸에 추가되는 양분의 양은 A[r][c]이고, 입력으로 주어진다.

이 때, K년 후 살아있는 나무의 개수를 구하는 문제입니다.

🔍 풀이 방법

해야될게 많은 구현 문제였습니다.
기본적으로는 봄 ~ 겨울 순서에 맞게 쭉 구현하면 됐습니다.
다만 죽은 나무 등을 따로 계산하기 위해 각각 자료구조를 사용했습니다.

⏳ 회고

싸피에서 풀었던 구현, 별 이동하는 문제 같은게 생각나는 문제였습니다.

@JHLEE325 JHLEE325 added the success 👍 해설을 보지 않고 풀었을 때 label Feb 15, 2026
@ShinHeeEul ShinHeeEul merged commit bbc8184 into main Feb 15, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants