반응형

분류 전체보기 359

[백준 알고리즘] 5590번: 船旅 (Python)

https://www.acmicpc.net/problem/5590 5590번: 船旅 入力の 1 行目には2つの整数 n, k (1 ≦ n ≦ 100, 1 ≦ k ≦ 5000) が書かれている. これは,島の数が n 島で,入力が k + 1 行からなることを表す. i + 1 行目 (1 ≦ i ≦ k) には, 3 個または 4 個の www.acmicpc.net 소스코드 import sys import heapq as hq input = sys.stdin.readline def dijkstra(start): q = [] min_dis = [float('inf') for _ in range(n+1)] min_dis[start] = 0 hq.heappush(q,[0,start]) while q: cur_dis,cur_node..

Algorithm/백준 2023.12.20

[백준 알고리즘] 2002번: 추월 (Python)

https://www.acmicpc.net/problem/2002 2002번: 추월 입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이 www.acmicpc.net 소스코드 import sys from collections import deque input = sys.stdin.readline n = int(input()) check = [] cnt = 0 enter = deque(input().strip() for _ in range(n)) out = deque(input().strip() for _ in range(n)) while out..

Algorithm/백준 2023.12.19

[백준 알고리즘] 13911번: 집 구하기 (Python)

https://www.acmicpc.net/problem/13911 13911번: 집 구하기 첫줄에는 정점의 개수 V(3 ≤ V ≤ 10,000)와 도로의 개수 E(0 ≤ E ≤ 300,000)가 주어진다. 그 다음 E줄에 걸쳐 각 도로를 나타내는 세 개의 정수 (u,v,w)가 순서대로 주어진다. 이는 u와 v(1 ≤ u,v ≤ V)사 www.acmicpc.net 소스코드 import sys import heapq as hq input = sys.stdin.readline def dijkstra1(): q = [] min_dis = [float('inf') for _ in range(V+1)] for i in mac: # 힙 안에서 맥도날드 지점을 다 집어 넣어서 최단거리 한번에 계산 hq.heappus..

Algorithm/백준 2023.12.18

[백준 알고리즘] 14618번: 총깡 총깡 (Python)

https://www.acmicpc.net/problem/14618 14618번: 총깡 총깡 입력의 첫 번째 줄에 전체 집의 수 N과 집과 집사이를 연결하는 도로 M이 공백으로 주어진다. (3 ≤ N ≤ 5,000, 3 ≤ M ≤ 20,000) 입력의 둘째 줄에 진서의 집 J가 주어진다 (1 ≤ J ≤ N) 입력의 셋째 줄 www.acmicpc.net 소스코드 import sys import heapq as hq input = sys.stdin.readline def dijkstra1(): q = [] min_dis = [float('inf') for _ in range(n+1)] for x in A: # A형 집들 중에서 진서집까지의 최단거리 구하기 min_dis[x] = 0 hq.heappush(q,..

Algorithm/백준 2023.12.09

[백준 알고리즘] 23801번: 두 단계 최단 경로2 (Python)

https://www.acmicpc.net/problem/23801 23801번: 두 단계 최단 경로 2 첫째 줄에 정점의 수 N (10 ≤ N ≤ 100,000), 간선의 수 M (10 ≤ M ≤ 300,000)이 주어진다. 다음 M개 줄에 간선 정보 u v w가 주어지며 도시 u와 도시 v 사이의 가중치가 정수 w인 양방향 도로를 나타 www.acmicpc.net 소스코드 import sys import heapq as hq input = sys.stdin.readline def dijkstra(start): q = [] min_dis = [float('inf') for _ in range(n+1)] min_dis[start] = 0 hq.heappush(q,[0,start]) while q: cur..

Algorithm/백준 2023.12.08

[백준 알고리즘] 16167번: A Great Way (Python)

https://www.acmicpc.net/problem/16167 16167번: A Great Way 첫 번째 줄에 거점의 수 N과 경로의 개수 R이 주어진다. (2 ≤ N ≤ 100, 1 ≤ R ≤ 200) 모든 거점에는 1부터 N까지 번호가 매겨져 있으며 중앙대학교는 1번, 숭실대학교는 N번이다. 두 번째 줄부터는 R www.acmicpc.net 소스코드 import sys import heapq as hq input = sys.stdin.readline def dijkstra(start): q = [] min_dis = [float('inf') for _ in range(n+1)] min_dis[start] = 0 hq.heappush(q,[0,start]) while q: cost,node = ..

Algorithm/백준 2023.12.07

[백준 알고리즘] 17835번: 면접보는 승범이네 (Python)

https://www.acmicpc.net/problem/17835 17835번: 면접보는 승범이네 첫째 줄에 도시의 수 N(2 ≤ N ≤ 100,000), 도로의 수 M(1 ≤ M ≤ 500,000), 면접장의 수 K(1 ≤ K ≤ N)가 공백을 두고 주어진다. 도시는 1번부터 N번까지의 고유한 번호가 매겨진다. 다음 M개의 줄에 걸쳐 www.acmicpc.net 소스코드 import sys import heapq as hq input = sys.stdin.readline def dijkstra(): q = [] min_dis = [float('inf') for _ in range(n+1)] for i in test: # 우선순위 큐에 한번에 다 넣고 실행 min_dis[i] = 1 hq.heappus..

Algorithm/백준 2023.12.05

[백준 알고리즘] 14221번: 편의점 (Python)

https://www.acmicpc.net/problem/14221 14221번: 편의점 처음 줄에는 정점의 개수 n, 간선의 개수 m이 주어진다.(2 ≤ n ≤ 5,000, 1 ≤ m ≤ 100,000) 다음 m줄에는 a,b,c가 주어지는데 이는 a, b를 잇는 간선의 거리가 c라는 것이다.(1 ≤ a, b ≤ n, 1 ≤ c ≤ 10,000) www.acmicpc.net 소스코드 import sys import heapq as hq input = sys.stdin.readline def dijkstra(): q = [] min_dis = [float('inf') for _ in range(n+1)] for store in stores: # 편의점의 위치를 한번에 우선순위 큐에 넣어줌 hq.heappu..

Algorithm/백준 2023.12.04

[백준 알고리즘] 5944번: Apple Delivery (Python)

https://www.acmicpc.net/problem/5944 5944번: Apple Delivery Bessie has two crisp red apples to deliver to two of her friends in the herd. Of course, she travels the C (1 pa2 -> pa1으로 가는 경로 result = min(ans1,ans2) print(result) 풀이 ★ pb라는 출발점에서 시작하여 pa1, pa2를 거치는 최단 경로를 찾아주면 됩니다. 이 때 목적지가 따로 없어서 헷갈릴 수도 있는데, pa2 or pa1에 도달하면 끝나기 때문에 이 둘을 각각의 케이스의 목적지로 생각해주면 됩니다. ★ 두 정점을 거치는 방법은 2가지가 있습니다. 1. pb -> p..

Algorithm/백준 2023.12.01
반응형