Skip to content

Commit e682562

Browse files
authored
Merge pull request #948 from AlgorithmWithGod/JHLEE325
[20250922] BOJ / G5 / 회장뽑기 / 이준희
2 parents 6b83f49 + fd7020a commit e682562

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
```java
2+
import java.io.*;
3+
import java.util.*;
4+
5+
public class Main {
6+
static final int INF = 987654321;
7+
8+
public static void main(String[] args) throws Exception {
9+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
10+
StringTokenizer st;
11+
StringBuilder sb = new StringBuilder();
12+
13+
int n = Integer.parseInt(br.readLine());
14+
int[][] arr = new int[n + 1][n + 1];
15+
16+
for (int i = 1; i <= n; i++) {
17+
for (int j = 1; j <= n; j++) {
18+
if (i == j) arr[i][j] = 0;
19+
else arr[i][j] = INF;
20+
}
21+
}
22+
23+
while (true) {
24+
st = new StringTokenizer(br.readLine());
25+
int a = Integer.parseInt(st.nextToken());
26+
int b = Integer.parseInt(st.nextToken());
27+
if (a == -1 && b == -1) break;
28+
arr[a][b] = 1;
29+
arr[b][a] = 1;
30+
}
31+
32+
for (int k = 1; k <= n; k++) {
33+
for (int i = 1; i <= n; i++) {
34+
for (int j = 1; j <= n; j++) {
35+
if (arr[i][j] > arr[i][k] + arr[k][j]) {
36+
arr[i][j] = arr[i][k] + arr[k][j];
37+
}
38+
}
39+
}
40+
}
41+
42+
int[] score = new int[n + 1];
43+
int minScore = INF;
44+
for (int i = 1; i <= n; i++) {
45+
int maxDist = 0;
46+
for (int j = 1; j <= n; j++) {
47+
maxDist = Math.max(maxDist, arr[i][j]);
48+
}
49+
score[i] = maxDist;
50+
minScore = Math.min(minScore, maxDist);
51+
}
52+
53+
List<Integer> candidates = new ArrayList<>();
54+
for (int i = 1; i <= n; i++) {
55+
if (score[i] == minScore) {
56+
candidates.add(i);
57+
}
58+
}
59+
60+
sb.append(minScore).append(" ").append(candidates.size()).append("\n");
61+
for (int c : candidates) {
62+
sb.append(c).append(" ");
63+
}
64+
System.out.println(sb.toString());
65+
}
66+
}
67+
```

0 commit comments

Comments
 (0)