-문제: https://www.acmicpc.net/problem/1783
1783번: 병든 나이트
첫째 줄에 체스판의 세로 길이 N와 가로 길이 M이 주어진다. N과 M은 2,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
-정답풀이:
세로 길이가 1이라면 어느 이동방법도 쓸 수가 없어서 1(시작지점,왼쪽 맨 아래)을 출력해준다
세로 길이가 2라면 2번,3번 방법만 쓸 수 있다. 모든 이동 방법을 쓰는게 아니므로 4와 (가로+1)//2의 값 중 작은걸 출력해준다
세로 길이가 3 이상일때,
가로가 6이하라면 모든 방법을 쓸 수가 없다. 1번과 4번만을 이용하는 게 최댓값이므로 4와 m의 값 중 작은 것을 출력해준다
가로가 7이상이라면 모든 방법을 쓸 수 있고, 알맞는 값을 출력해준다(m-2)
왜 (m+1)//2이고, m이고,m-2인지 모르겠네,,,
n,m=map(int,input().split())
if n==1: #세로 길이 1일 때
print(1)
elif n==2: #세로 길이 2일 때
print(min(4,(m+1)//2))
else: #세로 길이 3이상일 때
if m<=6: #가로가 6이하일때
print(min(4,m))
else:
print(m-2)
'백준 > Greedy' 카테고리의 다른 글
[코딩테스트] 백준 2847번: 게임을 만든 동준이 (0) | 2022.02.03 |
---|---|
[코딩테스트] 백준 11000번: 강의실 배정 (0) | 2022.02.02 |
[코딩테스트] 백준 1543번: 문서검색 (0) | 2022.01.29 |
[코딩테스트] 백준 1449번: 수리공 항승 (0) | 2022.01.29 |
[코딩테스트] 백준 2437번: 저울 (0) | 2022.01.27 |