Cod sursa(job #623630)

Utilizator GrimpowRadu Andrei Grimpow Data 20 octombrie 2011 14:47:49
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>
using namespace std;

int v[1001],dus[1001][4],gas[1001],n,k,m,x1,x2,i;
int main()
{
	
	
	FILE *f=fopen("dusman.in","rt");
	FILE *g=fopen("dusman.out","wt");
	fscanf(f,"%d %d %d",&n,&k,&m);
	for(i=1;i<=m;i++)
	{
		fscanf(f,"%d %d",&x1,&x2);
		dus[x1][++dus[x1][0]]=x2;
		dus[x2][++dus[x2][0]]=x1;
	}
	
	i=1;
	v[0]=1;
	while(k>0)
	
		if(i==n+1) {k--;i--;}
		else
		{gas[v[i]]=0;
		v[i]++;
		x1=v[i-1];
		while(v[i]<=n)
			if(dus[v[i]][1]==x1||dus[v[i]][2]==x1||dus[v[i]][3]==x1||gas[v[i]]==1)
			v[i]++;
        else
		{
			gas[v[i]]=1;
			i++;
			break;
		}
		if(v[i]==n+1)
		{
			v[i]=0;
			i--;
		}}	
for(i=1;i<=n;i++)
fprintf(g,"%d ",v[i]);
	}