Cod sursa(job #1700912)

Utilizator TincaMateiTinca Matei TincaMatei Data 11 mai 2016 18:44:08
Problema Combinari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.7 kb
#include <stdio.h>

int v[18];

void scriereV(FILE *fout,int n){//scriere vector
  int i;
  for(i=0;i<n;i++)
    fprintf(fout,"%d ",v[i]);
  fprintf(fout,"\n");
}

void combinare(FILE *fout,int n,int k,int kc,int x){//generarea combinatilor
  v[kc-k]=x;
  if(x<=n-k+1){
    if(k>0){
      combinare(fout,n,k-1,kc,x+1);
      combinare(fout,n,k,kc,x+1);
    }else
      scriereV(fout,kc);
  }
}

/*
cum functioneaza programul pe exemplu:
1 2 3
    4

  3 4

2 3 4


*/

int main(){
  int n,k;
  FILE *fin=fopen("combinari.in","r");
  FILE *fout=fopen("combinari.out","w");
  fscanf(fin,"%d%d",&n,&k);
  combinare(fout,n,k,k,1);
  fclose(fin);
  fclose(fout);
  return 0;
}