1import sys 2sys.setrecursionlimit(10**6) 3M = int(input()) 4G = [[] for _ in range(M)] 5 6for _ in range(M-1): 7 a, b, c = map(int, input().split()) 8 G[a-1].append((b-1, c)) 9 G[b-1].append((a-1, c)) 10 11n1 = 0 12tmp = 0 13 14def dfs(node, length): 15 global n1, tmp 16 visit[node] = True 17 if length > tmp: 18 tmp = length 19 n1 = node 20 for child, v in G[node]: 21 if not visit[child]: 22 dfs(child, length+v) 23 24visit = [False]*M 25dfs(0, 0) 26tmp = 0 27visit = [False]*M 28dfs(n1, 0) 29print (tmp) ์ธํฐ๋ท์์ ์ ๊ทผ ๋ฐฉ๋ฒ์ ์ฐธ๊ณ ํ๋ค ํด๊ฒฐ ๋ฐฉ๋ฒ ์๋ฌด ์ ์ ์์ ๊ฐ์ฅ ๋จผ ์ด๋ค ์ ์ ์ N์ด๋ผ๊ณ ํ์ ์ ์ N์์ ๊ฐ์ฅ ๋จผ ์ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๊ฐ ํธ๋ฆฌ์ ์ง๋ฆ๊ณผ ๊ฐ๋ค ๋๋ ์ ๋ฃจํธ๋ฅผ ๊ตฌํ ํ์๊ฐ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์๋ค
1import sys 2sys.setrecursionlimit(10**6) 3input = sys.stdin.readline 4 5V = int(input()) 6G = [[] for _ in range(V)] 7for _ in range(V): 8 token = list(map(int, input().split()))[:-1] 9 for i in range(1, len(token), 2): 10 G[token[0]-1].append((token[i]-1, token[i+1])) 11 12def dfs(node, dist): 13 global max_node, max_dist 14 visited[node] = True 15 if dist > max_dist: 16 max_node = node 17 max_dist = dist 18 for n_node, n_dist in G[node]: 19 if not visited[n_node]: 20 dfs(n_node, dist+n_dist) 21 22max_node = 0 23 24max_dist = 0 25visited = [False]*V 26dfs(0, 0) 27max_dist = 0 28visited = [False]*V 29dfs(max_node, 0) 30 31print (max_dist) ์ต๊ทผ์ ํผ “1967: ํธ๋ฆฌ์ ์ง๋ฆ” ๋๋ถ์ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์์๋ค ๊ธฐ์ตํ์ ํธ๋ฆฌ์ ์ง๋ฆ = (์ด๋ค ํ ์ ์ ์์ ๊ฐ์ฅ ๋จผ ์ P)์์ ๊ฐ์ฅ ๋จผ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ
1N, M, R = map(int, input().split()) 2 3item = list(map(int, input().split())) 4G = [[] for _ in range(N)] 5for _ in range(R): 6 a, b, c = map(int, input().split()) 7 G[a-1].append((b-1, c)) 8 G[b-1].append((a-1, c)) 9 10def dfs(node, dist): 11 global result 12 if dist > M: 13 return 14 if not visit[node]: 15 result += item[node] 16 visit[node] = True 17 18 for n_node, n_dist in G[node]: 19 dfs(n_node, dist+n_dist) 20 21max_result = 0 22 23for i in range(N): 24 result = 0 25 visit = [False]*N 26 dfs(i, 0) 27 max_result = max(max_result, result) 28 29print (max_result) ๋ถ๋ฅ์ ๋ค์ต์คํธ๋ผ, ํ๋ก์ด๋-์์
๋ก ๋์ด์์ง๋ง DFS๋ก ํ์๋ค ํ์ด ๋ฐฉ๋ฒ ์ฌ๊ธฐ์๋ ์ฌ๋ฐฉ๋ฌธ ํ๋ค๊ณ ํด์ ํ์์ ํ์ง ์์ผ๋ฉด ์๋๋ค ์ฌ๋ฐฉ๋ฌธํ์๋ ์ ์ ๋ฐฉ๋ฌธํ์ ๋๋ณด๋ค ๋ ์งง์ ํต๋ก๋ก ๋ค์ด์๋ค๋ฉด ๋ ๋ง์ ์์ดํ
์ ์ป์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค ๋ค๋ง, ์์ดํ
์ ๋ฐฉ๋ฌธํ ๋๋ง๋ค ์ป์ ์ ์๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ ์ฃผ์ํ์ฌ์ผ ํ๋ค ์์ ๋ด์ฉ์ ์ง๋ฌธ๊ฒ์ํ์ ๋ณด๋ค๊ฐ ๊นจ๋ซ๊ณ ํ ์ ์์๋ค
1import math 2 3N = int(input()) 4K = int(math.log2(N//3)) 5arr = [[' '] * (2*N-1) for _ in range(N)] 6 7 8def solve(depth, bx, by): 9 if depth == 0: 10 for i in range(3): 11 for j in range(i*2+1): 12 arr[by+i][bx+(2-i)+j] = '*' 13 arr[by+1][bx+2] = ' ' 14 else: 15 px = 2**(depth)*3 16 py = 2**(depth-1)*3 17 solve(depth-1, bx+px//2, by) 18 solve(depth-1, bx, by+py) 19 solve(depth-1, bx+px, by+py) 20solve(K, 0, 0) 21for i in arr: 22 print (''.
1R, C, T = map(int, input().split()) 2L = [list(map(int, input().split())) for _ in range(R)] 3 4dx = [0, 1, 0, -1] 5dy = [-1, 0, 1, 0] 6dx2 = [0, 1, 0, -1] 7dy2 = [1, 0, -1, 0] 8 9pur_a = (0, 0) 10pur_b = (0, 0) 11 12for i in range(R): 13 if L[i][0] == -1: 14 pur_a = (i, 0) 15 pur_b = (i+1, 0) 16 break 17 18def diffuse(L): 19 L_ = [[0]*C for _ in range(R)] 20 21 for i in range(R): 22 for j in range(C): 23 if L[i][j] > 0: 24 cnt = 0 25 for k in range(4): 26 px = j+dx[k] 27 py = i+dy[k] 28 29 if 0 <= px < C and 0 <= py < R and L[py][px] !
1from collections import deque 2N, L = map(int, input().split()) 3A = list(map(int, input().split())) 4 5Q = deque([(A[0], 0)]) 6result = [A[0]] 7 8for i in range(1, N): 9if Q[0][1] == i-L: 10Q.popleft() 11while Q and Q[-1][0] >= A[i]: 12Q.pop() 13Q.append((A[i], i)) 14result.append(Q[0][0]) 15 16print(*result) ๋ฌธ์ N๊ฐ์ ์ A1, A2, …, AN ๊ณผ L์ด ์ฃผ์ด์ง๋ค. Di = Ai-L+1 ~ Ai ์ค์ ์ต์๊ฐ์ด๋ผ๊ณ ํ ๋, D์ ์ ์ฅ๋ ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. TC input 12 3
1def multiply(m1, m2): 2 result = [0, 0, 0, 0] 3 result[0] = (m1[0]*m2[0] + m1[1]*m2[2]) % 1000000007 4 result[1] = (m1[0]*m2[1] + m1[1]*m2[3]) % 1000000007 5 result[2] = (m1[2]*m2[0] + m1[3]*m2[2]) % 1000000007 6 result[3] = (m1[2]*m2[1] + m1[3]*m2[3]) % 1000000007 7 return result 8 9def power(m, n): 10 if (n > 1): 11 m = power (m, n//2) 12 13 m = multiply (m, m) 14 if n % 2 == 1: 15 m = multiply(m, [1,1,1,0]) 16 return m 17 18N = int(input()) 19 20mat = power ([1,1,1,0], N) 21print (mat[1]%1000000007) ๋ฌธ์ n์ด ์ฃผ์ด์ง ๋ n๋ฒ์งธ ํผ๋ณด๋์น ์๋ฅผ ๊ตฌํ์ฌ๋ผ.
1from collections import deque 2 3dx = [0, 0, -1, 1] 4dy = [-1, 1, 0, 0] 5 6N, M = map(int, input().split()) 7L = [list(map(int, input().split())) for _ in range(N)] 8 9def check(): 10 q = deque() 11 q.append((0, 0)) 12 13 visited = [[0]*M for _ in range(N)] 14 visited[0][0] = 1 15 16 while q: 17 curX, curY = q.popleft() 18 19 for i in range(4): 20 nX = curX + dx[i] 21 nY = curY + dy[i] 22 23 if 0 <= nX < N and 0 <= nY < M: 24 if L[nX][nY] == 0 and visited[nX][nY] == 0: 25 q.
1def minion_game(string): 2 stuart = 0 3 kevin = 0 4 5 for i in range(len(string)): 6 for j in range(i+1, len(string)+1): 7 if string[i] in ['A', 'E', 'I', 'O', 'U']: 8 kevin += 1 9 else: 10 stuart += 1 11 12 if stuart > kevin: 13 print ('Stuart', stuart) 14 elif stuart < kevin: 15 print ('Kevin', kevin) 16 else: 17 print ('Draw') ๋ฌธ์ Kevin๊ณผ Stuart๊ฐ The Minion ๊ฒ์์ ํ๋ค ๊ฒ์์ ๊ท์น์ ๋ค์๊ณผ ๊ฐ๋ค ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ง๋, ์๋ก ๋ถ๋ถ ๋ฌธ์์ด์ ๋ง๋ ๋ค ์ด๋, Kevin์ ๋ชจ์์ผ๋ก, Stuart๋ ์์์ผ๋ก ์์ํ๋ ๋ฌธ์์ด์ ๋ง๋ ๋ค ํ๋ ๋ง๋ค๋๋ง๋ค ์ ์๋ฅผ +1 ์ป๊ณ ์ ์๊ฐ ๋์ ์ฌ๋์ด ์ด๊ธด๋ค “{๊ฒ์์์ ์ด๊ธด ์ฌ๋์ด๋ฆ} {์ด๊ธด ์ฌ๋์ ์ ์}“๋ฅผ ์ถ๋ ฅํ๋ผ ๋์ ์ด๋ฉด “Draw"๋ฅผ ์ถ๋ ฅํ๋ผ TC input BANANA