Skip to content

Instantly share code, notes, and snippets.

@sedin2
Created February 28, 2023 14:27
Show Gist options
  • Save sedin2/9d3b615e27703958b6575af2402c669b to your computer and use it in GitHub Desktop.
Save sedin2/9d3b615e27703958b6575af2402c669b to your computer and use it in GitHub Desktop.
코드트리_1차원 윷놀이
import java.io.*;
import java.util.*;
public class Main {
static int n;
static int m;
static int k;
static int[] turns;
static int[] piece;
static int[] arr;
static int answer;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
n = Integer.parseInt(st.nextToken());
m = Integer.parseInt(st.nextToken());
k = Integer.parseInt(st.nextToken());
turns = new int[n];
arr = new int[n];
st = new StringTokenizer(br.readLine(), " ");
for (int i=0; i<n; i++) {
turns[i] = Integer.parseInt(st.nextToken());
}
permutation(0);
sb.append(answer);
bw.write(sb.toString());
bw.close();
br.close();
}
private static void permutation(int depth) {
if (depth == n) {
calculate();
return;
}
for (int i=1; i<=k; i++) {
arr[depth] = i;
permutation(depth + 1);
}
}
private static void calculate() {
int score = 0;
piece = new int[k + 1];
for (int i=0; i<n; i++) {
piece[arr[i]] += turns[i];
}
for (int i=1; i<=k; i++) {
if (piece[i] >= m - 1) {
score++;
}
}
answer = Math.max(answer, score);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment