Pagini recente » Cod sursa (job #1147292) | Cod sursa (job #1824633) | Cod sursa (job #2664718) | Cod sursa (job #1027403) | Cod sursa (job #340016)
Cod sursa(job #340016)
#include<fstream>
using namespace std;
fstream f("dusman.in",ios::in),g("dusman.out",ios::out);
int n,s[1001],mat[4000][4000],m,k,solutii;
void tipar();
int valid();
void back(int pas)
{
int i,j,gasit;
if(pas==n+1)
{
if(valid())
{
solutii++;
if(solutii==k){tipar();return;}
}
}
else
{
for(i=1;i<=n;i++)
{
gasit=0;
for(j=1;j<pas;j++)
{
if(i==s[j])gasit=1;
}
if(!gasit)
{
s[pas]=i;
back(pas+1);
}
}
}
}
int main()
{
int i,aux1,aux2;
f>>n>>k>>m;
for(i=1;i<=m;i++)
{
f>>aux1>>aux2;
mat[aux1][aux2]=1;
mat[aux2][aux1]=1;
}
f.close();
back(1);
g.close();
return 0;
}
void tipar()
{
for(int i=1;i<=n;i++)g<<s[i]<<" ";
g<<endl;
}
int valid()
{
int i;
for(i=1;i<=n-1;i++)
{
if(mat[s[i]][s[i+1]])return 0;
}
return 1;
}