728x90
BOJ 1783 병든 나이트
문제
병든 나이트가 N × M 크기 체스판의 가장 왼쪽아래 칸에 위치해 있다.
병든 나이트는 건강한 보통 체스의 나이트와 다르게 4가지로만 움직일 수 있다.
1. 2칸 위로, 1칸 오른쪽
2. 1칸 위로, 2칸 오른쪽
3. 1칸 아래로, 2칸 오른쪽
4. 2칸 아래로, 1칸 오른쪽
병든 나이트는 여행을 시작하려고 하고, 여행을 하면서 방문한 칸의 수를 최대로 하려고 한다.
병든 나이트의 이동 횟수가 4번보다 적지 않다면, 이동 방법을 모두 한 번씩 사용해야 한다.
이동 횟수가 4번보다 적은 경우(방문한 칸이 5개 미만)에는 이동 방법에 대한 제약이 없다.
체스판의 크기가 주어졌을 때, 병든 나이트가 여행에서 방문할 수 있는 칸의 최대 개수를 구해보자.
시간 제한 : 2 초
메모리 제한 : 128 MB
입력
첫째 줄에 체스판의 세로 길이 N와 가로 길이 M이 주어진다.
N과 M은 2,000,000,000보다 작거나 같은 자연수이다.
예제 입력 1
100 50
예제 출력 1
48
예제 입력 2
1 1
예제 출력 2
1
예제 입력 3
17 5
예제 출력 3
4
예제 입력 4
2 4
예제 출력 4
2
예제 입력 5
20 4
예제 출력 5
4
풀이
n, m = map(int, input().split())
res = 0
if n == 1 :
res = 1
elif n == 2 :
res = min(4, (m+1)//2)
elif m < 7 :
res = min(4, m)
else :
res = m-2
print(res)
728x90
'Algorithm(Python) > 그리디' 카테고리의 다른 글
[Algorithm] CodeUp 2001 최소 대금(python 파이썬) (0) | 2022.06.13 |
---|---|
[Algorithm] 백준 BOJ 2847 게임을 만든 동준이(python 파이썬) (0) | 2022.06.12 |
[Algorithm] 백준 BOJ 1449 수리공 항승(python 파이썬) (0) | 2022.06.10 |
[Algorithm] 백준 BOJ 1439 뒤집기(python 파이썬) (0) | 2022.06.09 |
[Algorithm] 백준 BOJ 2864 5와 6의 차이(python 파이썬) (0) | 2022.06.08 |