Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- class kucingwarnawarni{
- static boolean sudah = false;
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- int T = sc.nextInt();
- int[] N = new int[T];
- int[] M = new int[T];
- int[] K = new int[T];
- for (int i = 0; i < T; i++) {
- N[i]=sc.nextInt();
- M[i]=sc.nextInt();
- K[i]=sc.nextInt();
- }
- for (int i = 0; i < T; i++) {
- fullGenerate(N[i], M[i], K[i]);
- }
- }
- static boolean apaSemuaElemenBeda(int[] array, int i, int j){
- for (int a = i; a < j; a++) {
- for (int b = a+1; b <= j; b++) {
- if (array[a]==array[b]) {
- return false;
- }
- }
- }
- return true;
- }
- static int hitungPasanganIndah(int[] array){
- int hitung=0;
- for (int a = 0; a < array.length; a++) {
- for (int b = a; b < array.length; b++) {
- if(apaSemuaElemenBeda(array, a, b)){
- hitung++;
- }
- }
- }
- return hitung;
- }
- static void tulisArray(int[] array){
- for (int i : array) {
- System.out.print((i+1)+" ");
- }
- System.out.println();
- }
- static void generate(int[] array, int index, int basis, int pasangan){
- for (int i = 0; i < basis; i++) {
- array[index] = i;
- if(index>0){
- generate(array, index-1, basis, pasangan);
- if (sudah == true) {
- return;
- }
- }else{
- if(hitungPasanganIndah(array)==pasangan){
- sudah = true;
- tulisArray(array);
- }
- }
- }
- }
- static void fullGenerate(int index, int basis, int pasangan){
- int[] array = new int[index];
- generate(array, index-1, basis, pasangan);
- if (sudah == false) {
- for (int i : array) {
- System.out.print("-1 ");
- }
- System.out.println();
- }
- sudah = false;
- }
- }
Add Comment
Please, Sign In to add comment