Pagini recente » Cod sursa (job #2159069) | Cod sursa (job #204431) | Cod sursa (job #2234444) | Cod sursa (job #985176) | Cod sursa (job #117330)
Cod sursa(job #117330)
#include<stdio.h>
FILE*f=fopen("dusman.in","r");
FILE*g=fopen("dusman.out","w");
int a[1003][6],viz[1005], sol;
int n,k,m, st[1003];
void read()
{
int x,y;
fscanf(f,"%d %d %d",&n,&k,&m);
for(int i=1;i<=m;++i)
{
fscanf(f,"%d %d",&x,&y);
a[x][++a[x][0]]=y;
a[y][++a[y][0]]=x;
}
}
void afisare()
{
for(int i=1;i<=n;++i) fprintf(g,"%d ",st[i]);
}
int cauta(int x, int linie)
{
for(int i=1;i<=a[linie][0];++i)
if(a[linie][i]==x) return 1;
return 0;
}
void bkt(int p)
{
if(p==n+1)
{
sol++;
if(sol==k) afisare();
}
else
for(int i=1;i<=n&&sol<k;++i)
{
if(viz[i]==0)
{
viz[i]=1;
if(cauta(i,st[p-1])==0)
{
st[p]=i;
bkt(p+1);
}
viz[i]=0;
}
}
}
int main()
{
read();
bkt(1);
return 0;
}