Pagini recente » Cod sursa (job #1006047) | Cod sursa (job #244034) | Cod sursa (job #1034889) | Cod sursa (job #324117) | Cod sursa (job #3326515)
#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);
}