Pagini recente » Profil BanescuEduard123 | Cod sursa (job #2412305) | Cod sursa (job #2507999) | Borderou de evaluare (job #2083221) | Cod sursa (job #919450)
Cod sursa(job #919450)
#include <stdio.h>
int n,v[1001],s[1001],d[4][1001],k,cnt;
void back(int j)
{
int i=0,a;
if ((j<=n)&&(cnt!=k))
for (i=1;i<n+1;i++)
if (((v[i]==0)&&(d[1][s[j-1]]!=i)&&(d[2][s[j-1]]!=i)&&(d[3][s[j-1]]!=i))||(j==1))
{
v[i]=1;
s[j]=i;
if (j<n) back(j+1);
else
{
++cnt;
if (cnt==k)
{
for (a=1;a<n+1;a++) printf("%d ",s[a]);
printf("\n");
return;
}
}
v[i]=0;
}
}
int main()
{
int i,x,y,m;
freopen("dusman.in","r",stdin);
freopen("dusman.out","w",stdout);
scanf("%d%d%d",&n,&k,&m);
for (i=1;i<m+1;i++)
{
scanf("%d%d",&x,&y);
++d[0][x];
d[d[0][x]][x]=y;
++d[0][y];
d[d[0][y]][y]=x;
}
back(1);
return 0;
}