Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- sorting
- Algorithm
- server
- 인프런
- 따라하면서 배우는 C언어
- BASIC
- Python
- php
- JavaScript
- 정수론
- dfs
- graph
- udemy
- web
- DP
- BOJ
- C언어
- C
- programmers
- 따라하며 배우는 C언어
- Cleancode
- greedy
- 종만북
- Algospot
- 따배씨
- 백준
- 생활코딩
- String
- Math
- BFS
Archives
- Today
- Total
몽상실현개발주의
[BOJ] 1783 / 병든 나이트 / Python 파이썬 본문
[BOJ] 1783 / 병든 나이트 / Python 파이썬
https://www.acmicpc.net/problem/1783
풀이
모든 경우의 수 고려하는 방법으로 구하는 문제가 아닌 조건을 단순화하여 계산하는 문제이다.
나이트는 체스판의 가장 왼쪽 아래에서 오른쪽 방향으로 위 또는 아래로 움직일 수 있다.
이것은 충분한 세로 공간만 존재한다면, 오른쪽 방향으로만 움직이게 된다는 것이다.
1. 오른쪽 1칸 위 2칸 -> 오른쪽 1칸 아래 2칸 == 오른쪽 2칸
2. 오른쪽 2칸 위 1칸 -> 오른쪽 2칸 아래 1칸 == 오른쪽 1칸
이를 고려하여 세로 칸으로 나누어 고려 하였고, 이동회수에 제약을 추가하여 해결하였다.
N, M = map(int, input().split())
# 세로칸 이동 불가
if N < 2:
print("1")
# 세로칸 이동 1칸 가능
elif N < 3:
# 이동 회수 제약
if M < 7:
print((M+1)//2)
else:
print(4)
# 세로칸 이동 2칸 가능
else:
# 이동 회수 제약
if M < 5:
print(M)
elif M == 5:
print(4)
else:
print(M - 2)
'Algorithm PS > BOJ' 카테고리의 다른 글
[BOJ] 11399 / ATM / Python 파이썬 (0) | 2021.07.05 |
---|---|
[BOJ] 1931 / 회의실 배정 / Python 파이썬 (0) | 2021.07.04 |
[BOJ] 10610 / 30 / Python 파이썬 (0) | 2021.06.30 |
[BOJ] 2875 / 대회 or 인턴 / Python 파이썬 (0) | 2021.06.30 |
[BOJ] 11047 / 동전 0 / Python 파이썬 (0) | 2021.06.28 |
Comments