목차
1. 문제
https://www.acmicpc.net/problem/1783
1783번: 병든 나이트
첫째 줄에 체스판의 세로 길이 N와 가로 길이 M이 주어진다. N과 M은 2,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
2. 핵심 아이디어
https://lipcoder.tistory.com/94
병든 나이트 (백준 - 1783번)
그리디 알고리즘을 사용하는 문제였다. 우선 나이트의 모든 이동방법이 위, 아래 오른쪽으로 무조건 1칸 이상 움직이므로, 세로 길이가 1인 체스판의 경우에 나이트는 한번도 이동 할 수 없다.
lipcoder.tistory.com
3. 코드
#1783. 병든나이트(실3)
n,m= map(int, input().split())
if m<7 or n<3:
flag=False
else:
flag=True
result=1
if flag:
result= m-2 #1칸에 하나씩 움직이는 것 가능 + 5칸까지는 1번씩 움직임
else:
if n==1:
result=1
elif n==2:
result= min(((m-1)//2)+1,4)
elif m<7:
result= min(m, 4)
print(result)
4.배운점
아직 그리디적인 사고가 유연하게 떠오르지 않는다. 그것이 많은 조건을 포함하고 있다면 더욱 그렇다.
구현 문제로 접근했다가 시간초과를 받았다. 범위가 넓은 문제의 경우, 그리디적으로 사고하는 법을 익히자.
'백준 문풀' 카테고리의 다른 글
[Python] 2538. 전구와 스위치 / 그리디 (0) | 2024.03.14 |
---|---|
[Python] 2872. 우리집엔 도서관이 있어(실2) / 그리디 (4) | 2024.02.28 |
[이코테 파이썬] #01. 그리디 알고리즘 (0) | 2024.02.08 |
[Python] 2169. 로봇조종하기(골2) / DP + 방향에 따른 배열 할당 (0) | 2024.01.06 |
[Python] 10942.팰린드롬?(골4) / DP (0) | 2024.01.03 |