Pagini recente » Cod sursa (job #2274380) | Cod sursa (job #2035957) | Cod sursa (job #2883414) | Cod sursa (job #2363065) | Cod sursa (job #237051)
Cod sursa(job #237051)
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
FILE *f=fopen("dusman.in","r"),*g=fopen("dusman.out","w");
int st[1001],a[1001],k,n,m,k1;
void read()
{
fscanf(f,"%d %d %d",&n,&k,&m);
for(int k=1;k<=n;k++)
a[k]=k;
for(int i=1;i<=m;i++)
{
int v1,v2;
fscanf(f,"%d %d",&v1,&v2);
a[v2]=a[v1];
}
}
int valid(int i)
{
for(int j=1;j<i;j++)
if(st[j]==st[i])
return 0;
if(a[st[i-1]]==a[st[i]])
return 0;
return 1;
}
void afisare()
{
for(int i=1;i<=n;i++)
fprintf(g,"%d ",st[i]);
}
void back(int i)
{
for(int pval=1;pval<=n;pval++)
{
st[i]=pval;
if(valid(i))
if(i==n)
{
k1++;
if(k1==k)
afisare(),exit(0);
}
else
back(i+1);
}
}
int main()
{
read();
back(1);
return 0;
}