Pagini recente » Cod sursa (job #2131231) | Cod sursa (job #1552300) | Cod sursa (job #2058863) | Cod sursa (job #993067) | Cod sursa (job #1308226)
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
FILE *f,*g;
using namespace std;
int sol[1002],n,z,a[1002][1002],nr,vr,m;
int valid(int k)
{
for(int i=1;i<k;i++)
if(sol[i]==sol[k])
return 0;
if(k>1)
{
if(a[sol[k]][sol[k-1]]!=0)
return 0;
else
return 1;
}
else
return 1;
}
int back(int k)
{
if(k==n+1)
{
nr++;
if(nr==z)
{
vr=1;
for(int i=1;i<k;i++)
fprintf(g,"%d ",sol[i]);
exit(EXIT_SUCCESS);
}
}
else
{
sol[k]=0;
while(sol[k]<n)
{
sol[k]++;
if(valid(k)&&vr==0)
back(k+1);
}
}
}
int main()
{f=fopen("dusman.in","r");
g=fopen("dusman.out","w");
fscanf(f,"%d %d %d",&n,&z,&m);
for(int i=1;i<=m;i++)
{
int q=0,w=0;
fscanf(f,"%d %d",&q,&w);
a[q][w]=a[w][q]=1;
}
back(1);
}