Cod sursa(job #275731)

Utilizator Addy.Adrian Draghici Addy. Data 10 martie 2009 17:16:41
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <stdio.h>

int s[100];
int k,n,p;

FILE *f = fopen("combinari.in", "r");
FILE *g = fopen("combinari.out", "w");

int cont(int p) {
  for (int i=1; i<p; i++)
    if (s[p] < s[i] || s[p] == s[i])
      return 0;
  return 1;
}

void sol() {
  for (int i=1; i<=k; i++)
    fprintf(g,"%d ",s[i]);
  fprintf(g,"\n");
}

int main(){

  fscanf(f,"%d %d",&n,&k);

  p = 1;
  s[p] = 0;

  while (p > 0)
    if (s[p] < n) {
      s[p]++;
      if (cont(p))
	if (p==k)
	  sol();
	else {
	  p++;
	  s[p] = 0;
	}
    }
    else
      p--;

  fclose(f);
  fclose(g);

  return 0;
}