[BFS] python 5014 스타트링크
https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net # 2023.01.24 import sys input = sys.stdin.readline from collections import deque # 총 f층, 지금 s층, 원하는 g층, 위로 u층 이동, 아래로 d층 이동 f, s, g, u, d = map(int, input().split()) visited=[False]*(f+1) # 방문여부 stair=[0]*(f+1) queue=deque() # 너비 ..
2023. 1. 24.
[DFS] python 2644 촌수계산
https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net # 2023.01.23 import sys input = sys.stdin.readline n = int(input()) a, b = map(int, input().split()) # start, end m = int(input()) graph = [[] for _ in range(n+1)] # n명의 사람들 for _ in range(m): x, y = map(int, inp..
2023. 1. 23.
[Greedy] python 13904 과제
https://www.acmicpc.net/problem/13904 13904번: 과제 예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다. www.acmicpc.net # 2023.01.22 import sys input = sys.stdin.readline n = int(input()) # 과제의 수 homework = [list(map(int, input().split())) for _ in range(n)] # 남은 일수, 점수 homework.sort(key = lambda x: (-x[1], x[0])) # 과제 점수가 가장 높은 순, 날짜 조금 남은 순으로 정렬 # [[4, 60], [2, 50..
2023. 1. 22.
[BFS] python 2206 벽 부수고 이동하기
https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net # 2023.01.21 import sys input = sys.stdin.readline from collections import deque n, m = map(int, input().split()) # nXm행렬 wall=[list(map(int, str(input().rstrip()))) for _ in range(n)] # 이동 방향 dy = [1, -1, 0, ..
2023. 1. 22.