Pagini recente » Cod sursa (job #2276295) | Cod sursa (job #1662506) | Cod sursa (job #1086698) | Cod sursa (job #1366020) | Cod sursa (job #531126)
Cod sursa(job #531126)
#include<fstream>
#define dmax 1010
using namespace std;
int n,k,m;
bool a[dmax][dmax],v[dmax];
int sol[dmax],ok,nr;
void citire()
{
int i,x,y;
ifstream fin("dusman.in");
fin>>n>>k>>m;
for (i=1; i<=m; i++)
{
fin>>x>>y;
a[x][y] = a[y][x] = 1;
}
fin.close();
}
void afisare()
{
int i;
ofstream fout("dusman.out");
for (i=1; i<=n; i++)
fout<<sol[i]<<" ";
fout.close();
}
void generare(int p)
{
int i;
if (p == n+1) /*daca am mai gasit o configuratie*/
{
nr++;
if (nr == k) /*daca am ajuns la a k-a configuratie*/
{
afisare();
ok = 1;
}
} else
for (i=1; i<=n; i++)
if (ok == 0 && v[i] == 0 && a[sol[p-1]][i] == 0)
{
v[i] = 1;
sol[p] = i;
generare(p+1);
v[i] = 0;
}
}
int main()
{
citire();
generare(1);
return 0;
}