Cod sursa(job #254108)

Utilizator willliIonel Bratianu willli Data 6 februarie 2009 19:44:14
Problema Combinari Scor 90
Compilator c Status done
Runda Arhiva educationala Marime 0.7 kb
#include <stdio.h>
#include <stdlib.h>
#define in "combinari.in"
#define out "combinari.out"
#define MAX 10

int stiva[MAX], n, l;
FILE *fout;

void perm(int k)
{
	int i, p, j;
	
	if (k == l)
	{
		for (i = 0; i < l; i++)
			fprintf(fout, "%d ", stiva[i] + 1);
		fprintf(fout, "\n");
	}
	else 
	{
		for (i = 0; i < n; i++)
		{
			stiva[k] = i;
			p = 1;
			for (j = 0; j < k; j++)
				if (stiva[j] >= stiva[k])
				{
					p = 0;	
					break;
				}
			if (p)
			{				
				perm(k + 1);
			}
		}
	
	}
}

int main()
{
	FILE *fin;
	
	if ((fin = fopen(in, "r")) == NULL)
	{
		printf("Eroare \n");
		exit(-1);
	}
	fscanf(fin, "%d%d", &n, &l);
	fclose(fin);
	fout = fopen(out, "w");
	perm(0);
	fclose(fout);	
	return 0;
}