Cod sursa(job #2602776)

Utilizator EdythestarGhiriti Edmond Edythestar Data 17 aprilie 2020 20:25:35
Problema Combinari Scor 70
Compilator java Status done
Runda Arhiva educationala Marime 1.54 kb
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

class Comb {
    private int n, k;
    private boolean[] intomb;
    private int[] y;

    Comb(Scanner sc) {
        n = sc.nextInt();
        k = sc.nextInt();
        y = new int[k + 1];
        intomb = new boolean[n + 1];
        sc.close();
    }

    private boolean jo(int l) {
        for (int i = 1; i < l; i++) {
            if (y[i] == y[l]) return false;
        }
        return true;
    }

    private void kiir(PrintWriter pwriter) {
        for (int i = 1; i <= k; i++) {
            pwriter.print(y[i] + " ");
        }
        pwriter.println();
    }

    public void back(int lep, PrintWriter pwriter) {
        for (int i = 1; i <= n; i++) {
            if (i > y[lep - 1] && intomb[i] == false) {
                intomb[y[lep]] = false;
                y[lep] = i;
                intomb[i] = true;
            } else continue;
            if (lep == k) kiir(pwriter);
            else back(lep + 1, pwriter);
        }
        intomb[y[lep]] = false;
    }
}


public class Main {
    public static void main(String[] args) throws IOException {
        File file = new File("combinari.in");
        Scanner sc = new Scanner(file);
        FileWriter fwriter = new FileWriter("combinari.out");
        PrintWriter pwriter = new PrintWriter(fwriter);
        Comb A = new Comb(sc);
        A.back(1, pwriter);
        fwriter.close();
        pwriter.close();
    }
}