Cod sursa(job #1123891)
| Utilizator | Data | 26 februarie 2014 10:33:55 | |
|---|---|---|---|
| Problema | Combinari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.67 kb |
#include <iostream>
#include <stdio.h>
using namespace std;
FILE *f=fopen("combinari.in","r");
FILE *g=fopen("combinari.out","w");
int n,t,st[19];
void afisare_sol()
{
for(int i=1;i<=t;i++)
fprintf(g,"%d ",st[i]);
fprintf(g,"\n");
}
int valid(int y,int k)
{
for(int i=1;i<k;i++)
if(y==st[i] || y<st[i])
return 0;
return 1;
}
void back(int k)
{
if(k==t+1)
afisare_sol();
else for(int i=1;i<=n;i++)
if(valid(i,k)==1)
{
st[k]=i;
back(k+1);
}
}
int main()
{
fscanf(f,"%d%d",&n,&t);
back(1);
return 0;
}
