SWEA_D3_6808
π [D3_6808] κ·μμ΄μ μΈμμ΄μ μΉ΄λ κ²μ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Solution {
static StringTokenizer st;
static int win, lose;
// κ·μμ΄ μΉ΄λ
static int[] arr;
// μΈμμ΄ μΉ΄λ
static int[] arr_in;
// μΈμμ΄κ° λΌ μ μλ μΉ΄λμ λ°°μ΄
static int[] arr_in_card;
// μΉ΄λ κ°μ
static int card = 9;
// 18κ°μ μΉ΄λ μ€ κ°μ Έκ° κ² μ°ΎκΈ° μν΄
static boolean[] isChecked;
// permutation boolean
static boolean[] check;
static ArrayList<Integer> list;
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
// ν
μ€νΈ μΌμ΄μ€
int T = Integer.parseInt(br.readLine());
for (int tc = 1; tc <= T; tc++) {
sb.append("#").append(tc).append(" ");
// κ·μμ΄ μΉ΄λ
arr = new int[card];
// μΈμμ΄ μΉ΄λ
arr_in = new int[card];
isChecked = new boolean[19];
// μ΅μ’
κ·μμ΄ μΉ ν¨
win = 0;
lose = 0;
// ν
μ€νΈ μΌμ΄μ€ λ§λ€ μ
λ ₯
st = new StringTokenizer(br.readLine(), " ");
// κ·μμ΄μ μΉ΄λ
for (int i = 0; i < arr.length; i++) {
arr[i] = Integer.parseInt(st.nextToken());
// κ·μμ΄κ° κ°μ Έκ° μΉ΄λλ₯Ό 체ν¬
isChecked[arr[i]] = true;
}
// κ·μμ΄κ° κ°μ§κ³ μμ§ μμ κ²μ μΈμμ΄μκ² μ€λ€
int index = 0;
for (int i = 1; i < isChecked.length; i++) {
if (isChecked[i]) {
continue;
} else {
arr_in[index] = i;
index++;
}
}
check = new boolean[card];
arr_in_card = new int[arr_in.length];
permutation(0);
// κ·μμ΄μ μΉν¨
sb.append(win).append(" ").append(lose).append("\n");
}
System.out.println(sb);
}
// μΈμμ΄ λ°°μ΄
static void permutation(int index) {
// κΈ°μ 쑰건
if (index == arr.length) {
// κ·μμ΄, μΈμμ΄ μ μ ν©κ³
int gyu_sum = 0;
int in_sum = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] > arr_in_card[i]) {
gyu_sum += arr[i] + arr_in_card[i];
} else {
in_sum += arr[i] + arr_in_card[i];
}
}
// κ²°κ΅ μ΄κ²Όλμ§ μ‘λμ§ νλ¨
if (gyu_sum > in_sum) {
win++;
} else if (in_sum > gyu_sum) {
lose++;
}
return;
}
for (int i = 0; i < arr.length; i++) {
if(!check[i]) {
arr_in_card[index] = arr_in[i];
check[i] = true;
permutation(index+1);
// μνΈλνΉ
check[i] = false;
}
}
}
}
π€ λμ μκ°
μμκ° μκ΄μλ λ½κΈ°μ΄κΈ° λλ¬Έμ μμ΄ κ³μ°λ²μ μ¬μ©νμλ€.
μ²μμ λ¬Έμ λ₯Ό κ·μμ΄κ° 9κ°λ₯Ό κ°μ Έκ°κ³ μ΄μ μΈμμ΄λ 18κ°μμ μλ‘κ² 9κ°λ₯Ό λ½λ μ€ μλͺ» μμμ μκ° μ΄κ³Όκ° λ¨κΈΈλ μμΈκ° νλ€.. γ
γ
>
λ¬Έμ λ₯Ό μ²μ²ν.. κΌΌκΌΌν μ½λλ‘ νμ !!