[白俊13424]秘密の集まり
1.問題の説明
秘密の集まり
2.問題分析
floyd−walshアルゴリズムは,各ノードから他のすべてのノードまでの最短距離を探す.移動するノード行のすべての列値を加算し、左側から最小インデックスを選択します.
3.私の回答 import sys
t = int(sys.stdin.readline().rstrip())
for _ in range(t):
INF = sys.maxsize
n, m = map(int, sys.stdin.readline().rstrip().split())
nodes= [[INF for _ in range(n+1)] for _ in range(n+1)]
for i in range(1, n+1): nodes[i][i] = 0
for _ in range(m):
a, b, c = map(int, sys.stdin.readline().rstrip().split())
nodes[a][b] = c
nodes[b][a] = c
friends_num = int(sys.stdin.readline().rstrip())
friends = list(map(int, sys.stdin.readline().rstrip().split()))
for k in range(1, n+1):
for i in range(1, n+1):
for j in range(1, n+1):
if nodes[i][j] > nodes[i][k] + nodes[k][j]:
nodes[i][j] = nodes[i][k] + nodes[k][j]
result = [0 for _ in range(n+1)]
result[0] = INF
for i in friends:
for j in range(1, n+1):
result[j] += nodes[i][j]
print(result.index(min(result)))
Reference
この問題について([白俊13424]秘密の集まり), 我々は、より多くの情報をここで見つけました
https://velog.io/@j_aion/백준-13424-비밀-모임
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
floyd−walshアルゴリズムは,各ノードから他のすべてのノードまでの最短距離を探す.移動するノード行のすべての列値を加算し、左側から最小インデックスを選択します.
3.私の回答 import sys
t = int(sys.stdin.readline().rstrip())
for _ in range(t):
INF = sys.maxsize
n, m = map(int, sys.stdin.readline().rstrip().split())
nodes= [[INF for _ in range(n+1)] for _ in range(n+1)]
for i in range(1, n+1): nodes[i][i] = 0
for _ in range(m):
a, b, c = map(int, sys.stdin.readline().rstrip().split())
nodes[a][b] = c
nodes[b][a] = c
friends_num = int(sys.stdin.readline().rstrip())
friends = list(map(int, sys.stdin.readline().rstrip().split()))
for k in range(1, n+1):
for i in range(1, n+1):
for j in range(1, n+1):
if nodes[i][j] > nodes[i][k] + nodes[k][j]:
nodes[i][j] = nodes[i][k] + nodes[k][j]
result = [0 for _ in range(n+1)]
result[0] = INF
for i in friends:
for j in range(1, n+1):
result[j] += nodes[i][j]
print(result.index(min(result)))
Reference
この問題について([白俊13424]秘密の集まり), 我々は、より多くの情報をここで見つけました
https://velog.io/@j_aion/백준-13424-비밀-모임
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
import sys
t = int(sys.stdin.readline().rstrip())
for _ in range(t):
INF = sys.maxsize
n, m = map(int, sys.stdin.readline().rstrip().split())
nodes= [[INF for _ in range(n+1)] for _ in range(n+1)]
for i in range(1, n+1): nodes[i][i] = 0
for _ in range(m):
a, b, c = map(int, sys.stdin.readline().rstrip().split())
nodes[a][b] = c
nodes[b][a] = c
friends_num = int(sys.stdin.readline().rstrip())
friends = list(map(int, sys.stdin.readline().rstrip().split()))
for k in range(1, n+1):
for i in range(1, n+1):
for j in range(1, n+1):
if nodes[i][j] > nodes[i][k] + nodes[k][j]:
nodes[i][j] = nodes[i][k] + nodes[k][j]
result = [0 for _ in range(n+1)]
result[0] = INF
for i in friends:
for j in range(1, n+1):
result[j] += nodes[i][j]
print(result.index(min(result)))
Reference
この問題について([白俊13424]秘密の集まり), 我々は、より多くの情報をここで見つけました https://velog.io/@j_aion/백준-13424-비밀-모임テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol