EDOC/2021-여름

2021/08/18

cha2y0ung 2022. 4. 4. 22:16
728x90

백준 #1922

import sys
input = lambda : sys.stdin.readline().strip()
n = int(input())
m = int(input())

edge = [[sys.maxsize for i in range(n)] for i in range(n)]

for i in range(m):
	a, b, c = map(int, input().split())
    edge[a-1][b-1] = c
    edge[b-1][a-1] = c

def prim():
	key = [sys.maxsize for i in range(n)]
    parent = [None for i in range(n)]
    key[0] = 0
    mstset = [0 for i in range(n)]
    for i in range(n):
    	min_d = sys.maxsize
        min_n = None
        for j in range(n) :
        	if key[j]<min_d and not mstset[j]:
            	min_d = key[j]
                min_n = j
        mstset[min_n] = 1
        for k in range(n):
        	if edge[min_n][k] and not mstset[k] and key[k] > edge[min_n][k]:
            	key[k] = edge[min_n][k]
    
    return sum(key)

print(prim())

 

백준 #2210

import sys
input = sys.sdin.readline

def Jump(L, Str, R, C):
	global res
    if L == 6:
    	if Str not in res:
        	res.append(Str)
    else:
    	for i in range(4):
        	nr = R + dr[i]
            nc = C + dc[i]
            if 0 <= nr < 5 and 0 <= nc < 5 :
            	JUMP(L + 1, Str = str(board[nr][nc]), nr, nc)

if _name_ == "_main_":
	board = [list(map(int, input().split())) for _ in range(5)]
    res = []
    dr = [-1, 0, 1, 0]
    dc = [0, 1, 0, -1]
    for i in range(5):
    	for j in range(5):
        	Jump(0, '', i, j)
    print(len(res))

'EDOC > 2021-여름' 카테고리의 다른 글

2021/08/11  (0) 2022.04.04
2021/07/28  (0) 2022.04.04
2021/07/21  (0) 2022.04.04
2021/07/14  (0) 2022.04.04