Pagini recente » Cod sursa (job #59984) | Cod sursa (job #2807868) | Cod sursa (job #1178763) | Cod sursa (job #238370) | Cod sursa (job #2682996)
#include <fstream>
using namespace std;
ifstream f ("dusman.in");
ofstream g ("dusman.out");
int n, m, nr, cnt;
bool found;
int sol[1005];
bool used[10005];
bool a[1005][1005];
void Print ()
{
for (int i=1; i<=n; i++)
g << sol[i] << " ";
g << "\n";
}
void Bkt (int k)
{
if (!found)
{
for (int i=1; i<=n; i++)
{
if (!used[i] && !a[sol[k-1]][i])
{
sol[k] = i;
used[i] = 1;
if (k == n)
{
cnt ++;
if (cnt == nr)
{
Print();
found = true;
}
}
else Bkt(k + 1);
used[i] = 0;
}
}
}
}
int main()
{
f >> n >> nr >> m;
for (int i=1; i<=m; i++)
{
int x, y;
f >> x >> y;
a[x][y] = a[y][x] = 1;
}
Bkt(1);
return 0;
}