Pagini recente » Cod sursa (job #716916) | Cod sursa (job #1469993) | Cod sursa (job #939005) | Cod sursa (job #3152719) | Cod sursa (job #227259)
Cod sursa(job #227259)
#include <stdio.h>
int k,v[128],x[16],N,K;
void back()
{
++k;
if (k>K)
{
for(char j=1;j<k;++j)
printf("%d ", x[j]);
printf("\n");
} else
for(x[k]=x[k-1]+1;x[k]<=N;++x[k]) back();
--k;
}
int main()
{
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d%d", &N,&K);
// back();
k=1;
while (k)
{
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
if (k){
if (++v[k] > N) --k; else
if (k==K)
{
for(char j=1;j<=k;++j)
printf("%d ", v[j]);
printf("\n");
} else
if (v[k] <= N)
{
++k;v[k] = v[k-1];
} else --k;
}
}
return 0;
}