전체 글 315

BOJ 13549 숨바꼭질 3 Python3

https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net ※ BFS로 풀면 메모리 초과 나서, 또익스트라로 풂 import heapq import sys input = sys.stdin.readline INF = int(1e9) N, K = map(int, input().rstrip().split()) distance = [INF]*100001 def hide_and_seek(): queue = [] heapq.he..

Algorithm/Baekjoon 2023.07.15

BOJ 1916 최소비용 구하기 Python3

https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net import heapq import sys input = sys.stdin.readline INF = int(1e9) N = int(input().rstrip()) M = int(input().rstrip()) graph = [[] for _ in range(N+1)] for _ in range(M): s, e, w = map(int, input().rstrip(..

Algorithm/Baekjoon 2023.07.15

BOJ 11404 플로이드 Python3 - 플로이드 워셜 알고리즘

https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net # 플로이드 워셜 알고리즘 import sys input = sys.stdin.readline n = int(input().rstrip()) m = int(input().rstrip()) INF = int(1e9) graph = [[INF]*(n+1) for _ in range(n+1)] for index in range(1, n+1): graph[index][index] = 0 for _ in ..

Algorithm/Baekjoon 2023.07.15

BOJ 1753 최단경로 Python3 - 다익스트라 알고리즘

https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 다익스트라 알고리즘 그대로 구현 import heapq import sys input = sys.stdin.readline V, E = map(int, input().rstrip().split()) K = int(input().rstrip()) graph = [[] for _ in range(V+1)] for _ in range(E): u, v, w = map..

Algorithm/Baekjoon 2023.07.15

BOJ 13458 시험 감독 Python3

https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net import sys input = sys.stdin.readline N = int(input()) candidates = list(map(int, input().rsplit())) main_viewer_ok, sub_viewer_ok = list(map(int, input().rsplit())) viewer_number = 0 for can..

Algorithm/Baekjoon 2023.07.03

BOJ 1463 1로 만들기 Python3

https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net from collections import deque import sys input = sys.stdin.readline X = int(input()) def dfs(): queue = deque() queue.append((X, 0)) while queue: x, cnt = queue.popleft() if x == 1: print(cnt) return if (x % 3) == 0: queue.append((x//3, cnt+1)) if (x % 2) == 0: queue.append((x//2, cnt+1)..

Algorithm/Baekjoon 2023.06.28
반응형