728x90
반응형
https://www.acmicpc.net/problem/2660
2660번: 회장뽑기
입력의 첫째 줄에는 회원의 수가 있다. 단, 회원의 수는 50명을 넘지 않는다. 둘째 줄 이후로는 한 줄에 두 개의 회원번호가 있는데, 이것은 두 회원이 서로 친구임을 나타낸다. 회원번호는 1부터
www.acmicpc.net
문제 해결
- 전형적인 플로이드-위셜 문제
CODE
import sys
input = sys.stdin.readline
INF = sys.maxsize
n = int(input().rstrip())
dp = [[INF]*(n+1) for _ in range(n+1)]
while True:
a, b = map(int, input().split())
if a==-1 and b == -1 : break
dp[a][b] = 1
dp[b][a] = 1
for i in range(1,n+1):
dp[i][i] = 0
for k in range(1,n+1):
for i in range(1,n+1):
for j in range(1,n+1):
if dp[i][j] == 1 or dp[i][j] ==0: continue
elif dp[i][j] > dp[i][k] + dp[k][j]:
dp[i][j] = dp[i][k] + dp[k][j]
A = []
for i in range(1,n+1):
A.append(max(dp[i][1:]))
m = min(A)
print(m, A.count(m))
for i, v in enumerate(A):
if v ==m:
print(i+1, end=' ')
728x90
반응형
'알고리즘 > [python] 백준 BOJ' 카테고리의 다른 글
[python] 백준 2141 우체국 (0) | 2023.04.09 |
---|---|
[python] 백준 1238 파티 (0) | 2023.04.09 |
[python] 백준 5052 전화번호 목록 (0) | 2023.04.09 |
[python] 백준 7570 줄 세우기 (0) | 2023.04.08 |
[python] 백준 2457 공주님의 정원 (0) | 2023.04.08 |
댓글