Pagini recente » Cod sursa (job #2163174) | Cod sursa (job #1960991) | Cod sursa (job #2341293) | Cod sursa (job #695421) | Cod sursa (job #116267)
Cod sursa(job #116267)
#include <stdio.h>
int contor,i,j,n,m,k,p,q;
int a[1001][3];
int fol[1001],v[1001];
void afisare()
{
int i;
for (i=1; i<=n; i++)
printf("%d ",v[i]);
printf("\n");
}
void dusman(int o)
{
if (contor>k) return;
if (o==n+1)
{
contor++;
if (contor==k)
afisare();
return;
}
int i;
for (i=1; i<=n; i++)
if (fol[i]==0 && (v[o-1]!=a[i][0] && v[o-1]!=a[i][1] && v[o-1]!=a[i][2]))
{
fol[i]=1;
v[o]=i;
dusman(o+1);
fol[i]=0;
}
}
int main()
{
freopen("dusman.in","r",stdin);
freopen("dusman.out","w",stdout);
scanf("%d%d%d",&n,&k,&m);
for (i=1; i<=m; i++)
{
scanf("%d%d",&p,&q);
if (a[p][0]!=0)
if (a[p][1]!=0)
a[p][2]=q;
else a[p][1]=q;
else a[p][0]=q;
if (a[q][0]!=0)
if (a[q][1]!=0)
a[q][2]=p;
else a[q][1]=p;
else a[q][0]=p;
}
v[0]=-1;
dusman(1);
return 0;
}