Cod sursa(job #3326515)

Utilizator Aditu2121Sandu Adrian Aditu2121 Data 29 noiembrie 2025 12:05:15
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("combinari.in");
ofstream fout ("combinari.out");
int v[20],n,stiva[20],k;
void afisare_permutari() {
	for(int i=1; i<=k; ++i) {
		fout<<stiva[i]<<" ";
	}
	fout<<endl;
}
int verificare_dif(int numere) {
	for(int i=1; i<=numere-1; ++i)
		if(stiva[i]==stiva[numere])
			return 0;
	return 1;
}
int verificare_crescatoare(int numere) {
    for(int i=1; i<=numere-1; ++i)
        if(stiva[i]>stiva[i+1])
            return 0;
    return 1;
}
void permutari(int numere) {
	for(int i=1; i<=n; ++i) {
		stiva[numere]=v[i];
		if(verificare_dif(numere)==1 && verificare_crescatoare(numere)==1) {
			if(numere==k)
				afisare_permutari();
			else
				permutari(numere+1);
		}
	}
}
int main() {
	fin>>n>>k;
	for(int i=1; i<=n; ++i)
		v[i]=i;
	permutari(1);
}