๋ฐ์ํ
- Algorithm Problem
๋ฐ์ํ
- Solving
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.StringTokenizer;
public class BOJ17966GraphAndCycles { // 17966 Graph and Cycles
static final int INF = Integer.MAX_VALUE;
static int N, M;
static List<Integer>[] arr;
static long ans;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = null;
N = Integer.parseInt(br.readLine());
ans = 0;
M = N * (N - 1) / 2; // ์์ ๊ทธ๋ํ์์ ์๋ฏธํจ.
arr = new ArrayList[N + 1];
for (int i = 1; i < N + 1; i++)
arr[i] = new ArrayList<>();
for (int i = 0; i < M; i++) { // ๊ฐ์ ๊ฐฏ์ ๊ธฐ์ค์ผ๋ก ๋
ธ๋๋ณ list๋ฅผ ๋ฐ๋๋ค.
st = new StringTokenizer(br.readLine());
int u = Integer.parseInt(st.nextToken());
int v = Integer.parseInt(st.nextToken());
int w = Integer.parseInt(st.nextToken());
arr[u].add(w);
arr[v].add(w);
}
// ๋ชจ๋ ๊ฐ์ ์ ์ง๋๋(๋
ธ๋ ์ค๋ณต์ผ๋ก ๋ค์ด์๋ ๋จ) ์ฌ์ดํด ๋ฐฐ์ด์ ๋ง๋ ๋ค.
// ํ์ ๊ฐ์ ๋
ธ๋๋ผ๋ ์ ํด์ ธ์๊ธฐ ๋๋ฌธ์ ๋ฌด์กฐ๊ฑด ํ๋ถ๊ทธ๋ฆฌ๊ธฐ ๊ฐ๋ฅ
// ์์ ๊ทธ๋ํ์๋ ๋ณด์ฅ๋๊ธฐ ๋๋ฌธ์, ํ ๋
ธ๋๋ก๋ถํฐ ์งํ๋๋ ๊ฐ์ ์ ์ง์
// ๊ฐ ๋
ธ๋๋ณ๋ก ์ด ๊ฐ์-1๊ฐ ๋งํผ ๊ฐ์ ์ ๊ฐ๋๋ค.
// ๋ฌด๋ฐฉํฅ์ด๊ธฐ ๋๋ฌธ์ ์
๋ ฅ ๋ฐ์ ๋, ์์ , ๋์ ๋ฐฐ์ด์ ๊ฐ์ค์น ์ถ๊ฐ
// f(e1, e2) ๋ ๊ฐ์ ๊ฐ์ ๊ฐ์ค์น ์ต๋๊ฐ์ ๋ฐํํ๋ค. << ๋ค๋ง,
for (int i = 1; i < N + 1; i++) {
Collections.sort(arr[i]); // bestSol <- ์ค๋ฆ์ฐจ์ ์ ๋ ฌ ํ ์ ํ
for (int j = 1; j < N; j += 2) { // ์ค๋ณต์ ํ ํํผ
ans += arr[i].get(j);
} // N๊ฐ(ํ์)์ ๋
ธ๋๋ ๊ฐ ์์ผ๋ฉด, ๊ฐ ๋
ธ๋๋ N-1๊ฐ ๋
ธ๋(์ง์)๋ฅผ ๊ฐ๋๋ค.
}
// print(arr);
System.out.println(ans);
br.close();
}
private static void print(List<Integer>[] a) {
StringBuilder tt = new StringBuilder();
for (int i = 1; i < arr.length; i++) {
for (int j = 0; j < arr[i].size(); j++) {
tt.append(arr[i].get(j)).append(" ");
}
tt.append("\n");
}
System.out.println(tt);
}
}
- Review
๊ณจ๋๊ฐ ์ต์ํด์ก๋ค๊ณ , ๋ฌดํฑ๋๊ณ ๋ค์ด๋ฐ์ง ๋ง์. ์์ ํ์์ด๋, ๊ตฌํ์ผ๋ก ์ ๊ทผํ๋ ๊ฒ๋ ์ข์ง๋ง, ์์ผ๋ก ๋จผ์ ํจํด์ ์ฐพ์๋ณด๋ ์๊ฐ์ ์ถฉ๋ถํ ๊ฐ์.
๋ฐ์ํ
'์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 5546๋ฒ : ํ์คํ - JAVA[์๋ฐ] (0) | 2022.04.28 |
---|