Cod sursa(job #1108331)
| Utilizator | Data | 15 februarie 2014 16:31:03 | |
|---|---|---|---|
| Problema | Combinari | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.68 kb |
#include <cstdio>
int N, K;
int v[20], vis[20];
int main()
{
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d %d", &N, &K);
int p=1;
while (p){
do{
++v[p];
}while (v[p]<=N && vis[v[p]]);
if (v[p]<=N){
if (p == K){
for (int i=1; i<=K; ++i)
printf("%d ", v[i]);
puts("");
}
else{
vis[v[p]] = 1;
++p;
v[p] = v[p-1];
}
}
else{
--p;
vis[v[p]] = 0;
}
}
return 0;
}
