5주차 과제 24479
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**9)
N, M, R = map(int, input().split())
graph = [[] for _ in range(N+1)]
path = []
result = [0]*(N+1)
visited = [-1]*(N+1)
for _ in range(M):
a, b = map(int, input().split())
graph[a].append(b)
graph[b].append(a)
for i in range(1, len(graph)):
graph[i].sort()
def DFS(start):
visited[start] = 1
path.append(start)
for adj_node in graph[start]:
if visited[adj_node] == -1:
DFS(adj_node)
return
DFS(R)
for idx, node in zip(range(1, len(path)+1), path):
result[node] = idx
print(*result[1:], sep="\\n")
24444
from collections import deque
import sys
N, M, R = map(int, sys.stdin.readline().rstrip().split())
graph = [[] for _ in range(N+1)]
visited = [0] * (N + 1)
for _ in range(M):
a, b = map(int, sys.stdin.readline().rstrip().split())
graph[a].append(b)
graph[b].append(a)
for i in range(N+1):
graph[i].sort()
def bfs(graph, start, visited):
queue = deque([start])
visited[start] = 1
count = 2
while queue :
v = queue.popleft()
for i in graph[v]:
if not visited[i]:
queue.append(i)
visited[i]=count
count += 1
bfs(graph, R, visited)
for i in visited[1::]:
print(i)
7562
from collections import deque
dx = [1, 1, 2, 2, -1, -1, -2, -2]
dy = [2, -2, 1, -1, 2, -2, 1, -1]
def bfs(x, y, x_end, y_end):
q = deque()
q.append([x, y])
a[x][y] = 1
while q:
x, y = q.popleft()
if x == x_end and y == y_end:
return a[x][y]-1
for i in range(8):
nx = x + dx[i]
ny = y + dy[i]
if 0 <= nx < l and 0 <= ny < l:
if a[nx][ny] == 0:
q.append([nx, ny])
a[nx][ny] = a[x][y] + 1
tc = int(input())
while tc:
l = int(input())
a = [[0]*l for _ in range(l)]
x1, y1 = map(int, input().split())
x2, y2 = map(int, input().split())
if x1 == x2 and y1 == y2:
print(0)
tc -= 1
continue
ans = bfs(x1, y1, x2, y2)
print(ans)
tc -= 1
6주차 과제 1427
N = input()
num = []
for i in range(len(N)):
num.append(int(N[i]))
num.sort(reverse=True)
print(*num, sep='')
11004
N,K=map(int,input().split())
l=list(map(int,input().split()))
l.sort()
print(l[K-1])
10825
import sys
n = int(sys.stdin.readline())
student = []
for _ in range(n):
student.append(sys.stdin.readline().split())
student.sort(key = lambda x:(-int(x[1]),int(x[2]),-int(x[3]),x[0]))
for i in student:
print(i[0])