2660번: 회장뽑기 입력의 첫째 줄에는 회원의 수가 있다. 단, 회원의 수는 50명을 넘지 않는다. 둘째 줄 이후로는 한 줄에 두 개의 회원번호가 있는데, 이것은 두 회원이 서로 친구임을 나타낸다. 회원번호는 1부터 www.acmicpc.net 코드 n = int(input()) dist = [[50]*(n+1) for _ in range(n+1)] for i in range(1, n+1): dist[i][i] = 0 while True: a, b = map(int, input().split()) if a == -1 and b == -1: break dist[a][b] = 1 dist[b][a] = 1 # Floyd-Warshall for k in range(1, n+1): for i in range(..
전체 글
18311번: 왕복 첫째 줄에 정수 N, K가 공백을 기준으로 구분되어 주어진다. (1≤N≤100,000) 단, K는 항상 왕복 거리보다 작은 양의 정수 혹은 0으로 주어진다. 둘째 줄에 1번부터 N번까지 각 코스의 길이가 공백을 www.acmicpc.net 코드 n, k = map(int, input().split()) course = list(map(int, input().split())) total = sum(course) if k k: print(i) break tmp += course[i] else: k -= total tmp = 0 for i in range..
17396번: 백도어 첫 번째 줄에 분기점의 수와 분기점들을 잇는 길의 수를 의미하는 두 자연수 N과 M이 공백으로 구분되어 주어진다.(1 ≤ N ≤ 100,000, 1 ≤ M ≤ 300,000) 두 번째 줄에 각 분기점이 적의 시야에 보이는 www.acmicpc.net 코드 from heapq import heappop, heappush import sys input = sys.stdin.readline INF = sys.maxsize n, m = map(int, input().split()) visible = list(map(int, input().split())) visible[n-1] = 0 graph = [[] for _ in range(n)] for _ in range(m): a, b, t =..
1944번: 복제 로봇 첫째 줄에 미로의 크기 N(4 ≤ N ≤ 50)과 열쇠의 개수 M(1 ≤ M ≤ 250) 이 공백을 사이에 두고 주어진다. 그리고 둘째 줄부터 N+1째 줄까지 미로의 정보가 주어진다. 미로는 1과 0, 그리고 S와 K로 주어 www.acmicpc.net 코드 from collections import deque import sys input = sys.stdin.readline n, m = map(int, input().split()) maze = [] points = [] for i in range(n): row = list(input()) maze.append(row) for j in range(n): if row[j] == 'S' or row[j] == 'K': maze[i]..
2458번: 키 순서 1번부터 N번까지 번호가 붙여져 있는 학생들에 대하여 두 학생끼리 키를 비교한 결과의 일부가 주어져 있다. 단, N명의 학생들의 키는 모두 다르다고 가정한다. 예를 들어, 6명의 학생들에 대하여 www.acmicpc.net 코드 처음 풀이 import sys input = sys.stdin.readline n, m = map(int, input().split()) dist = [[[int(1e9), -int(1e9)] for _ in range(n+1)] for _ in range(n+1)] for i in range(n+1): dist[i][i] = [0, 0] for _ in range(m): a, b = map(int, input().split()) # a < b dist[a]..
20007번: 떡 돌리기 첫째줄에 N, M, X, Y가 공백으로 구분되어 입력된다. (2 ≤ N ≤ 1,000, 1 ≤ M ≤ 100,000, 1 ≤ X ≤ 10,000,000, 0 ≤ Y < N) 두번째 줄부터 M+1번째 줄까지 A와 B 그리고 A집과 B집 사이의 도로의 길이 C가 주 www.acmicpc.net 코드 from heapq import heappop, heappush import sys input = sys.stdin.readline n, m, x, y = map(int, input().split()) roads = [[] for _ in range(n)] for _ in range(m): a, b, c = map(int, input().split()) roads[a].append((c,..