Cod sursa(job #2482215)

Utilizator miruna1224Floroiu Miruna miruna1224 Data 27 octombrie 2019 21:25:01
Problema Dusman Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
#include<stdlib.h>


FILE *of = fopen("dusman.in","r");
FILE *of2 = fopen("dusman.out","w");
int st[1005],a[1005][1005],ut[1005],k,n,m,k1;


void afisare()
{
	for(int i=1;i<=n;i++)
		fprintf(of2,"%d ",st[i]);
}


void back(int i)
{
	for(int pval=1;pval<=n;pval++)
	{
		if(!a[st[i-1]][pval]&&!ut[pval])
		{
			st[i]=pval;
			ut[pval]=1;
			if(i==n)
			{
				k1++;
				if(k1==k)
					afisare();
				ut[pval]=0;
			}
			else
				back(i+1),ut[pval]=0;
		}
	}
}

int main()
{
	int v1,v2;
	fscanf(of,"%d%d%d",&n,&k,&m);
	for(int i=1;i<=m;i++)
	{
		fscanf(of,"%d%d",&v1,&v2);
		a[v1][v2]=1;
		a[v2][v1]=1;
	}
	back(1);
	fclose(of);
	fclose(of2);
	return 0;
}