Cod sursa(job #1902780)
Utilizator | Data | 4 martie 2017 19:43:19 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <cstdio>
using namespace std;
int n, st[20], p;
int valid (int k)
{
for (int i=1; i<k; i++)
if (st[i]==st[k]) return 0;
return 1;
}
void permut (int k, int x)
{
for (; x<=n; x++){
st[k]=x;
if (valid(k)){
if (k==p){
for (int i=1; i<=k; i++)
printf("%d ", st[i]);
printf("\n");
}
else permut(k+1, x+1);
}
}
}
int main (){
freopen("combinari.in", "r", stdin);
freopen("combinari.out", "w", stdout);
scanf("%d%d", &n, &p);
permut(1, 1);
return 0;
}