Pagini recente » Borderou de evaluare (job #2332764) | Borderou de evaluare (job #430318) | Cod sursa (job #2310186)
#include <fstream>
using namespace std;
ifstream fin("dusman.in");
ofstream fout("dusman.out");
int a[1005][1005],n,x,y,m,k,l=1,i,j,g,s,st[1005],v[1005];
void backt(int f)
{
if(l==1)
{
int c;
if(f==n+1)
{
s++;
// fout<<s<<" "<<k<<endl;
// for(i=1;i<=n;i++)
// fout<<v[i]<<" ";
// fout<<"\n";
}
if(s==k)
{
l=0;
return;
}
if(f<=n && l)
for(c=1;c<=n && l;c++)
{
if(!st[c] && !a[c][v[f-1]])
{
v[f]=c;
st[c]=1;
backt(f+1);
st[c]=0;
}
}
}
return;
}
int main()
{
fin>>n>>k>>m;
for(i=1;i<=m;i++)
{
fin>>x>>y;
a[x][y]=a[y][x]=1;
}
backt(1);
for(i=1;i<=n;i++)
fout<<v[i]<<" ";
return 0;
}