import java.io.*; import java.util.StringTokenizer; public class Main { static BufferedReader br; static int N; static int ans = Integer.MAX_VALUE; static int[] start; static int[] link; static int startSum = 0; static int linkSum = 0; static boolean[] picked; static int[][] abilityMap; public static void solve(int[] start, int[] link, boolean[] picked, int depth, int idx) { if(depth == N/2) { i..
import java.io.*; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int N; static int ans = 0; static StringTokenizer st; public static void recur(int[] A, int depth, int n) { //종료조건 if(depth == N) { ans = Math.max(ans, calculate(A, n)); return; } //재귀호출 for(int i = depth; i < N; i++) { swap(A, i ,depth); recur(A, depth+1, n); swap(A, i, depth); } } p..