반응형
https://www.acmicpc.net/problem/1783
n,m = map(int, input().split())
if n >= 3:
if m >= 7:
print(m-2)
elif m >= 4:
print(4)
else:
print(m)
elif n == 2:
if m >= 7:
print(4)
else:
print(1+(m-1)//2)
else:
print(1)
이번에는 구현 문제인데요. 느낌이 그리디랑 비슷한 문제입니다.
뭔가 수학적인 계산을 하는 문제라기 보다는 논리적 추론에 가까운 문제가 아닌가 생각합니다. 그래서 손으로 쓰면서 정리를 해봤는데 이해에 도움이 되면 좋겠네요.
글씨가 안깔끔해서 더 이해가 안되실수도 있겠네요. 작성하다가 빼먹었는데 n은 충분한데 m이 충분하지 않은 경우 7이하는 최대 4칸이므로 7~5까지는 4로 고정이고 4이하부터는 m개 만큼 방문이 가능합니다. 또한 n이 1이라면 아예 움직일 수 없으니 1이 답이 되겠죠.
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ][Python]2491번 풀이 (0) | 2022.07.11 |
---|---|
[BOJ][Python]10026번 풀이 (0) | 2022.07.11 |
[BOJ][Python]7569번 풀이 (0) | 2022.07.10 |
[BOJ][Python]5430번 풀이 (0) | 2022.07.09 |