Pagini recente » Cod sursa (job #2967795) | Cod sursa (job #1963273) | Cod sursa (job #615346) | Cod sursa (job #1470103) | Cod sursa (job #2682985)
#include <fstream>
using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
int n, k, m;
bool dusmani[1001][1001];
bool used[1001];
int sol[1001], nrSol;
void bkt(int niv)
{
if (nrSol >= k)
return;
for (int i=1; i<=n; i++)
if (!used[i] && !dusmani[i][sol[niv-1]])
{
sol[niv] = i;
used[i] = true;
if (niv == n)
{
nrSol++;
if (nrSol == k)
{
for (int i=1; i<=n; i++)
g << sol[i] << " ";
return;
}
}
else
bkt(niv + 1);
sol[niv] = 0;
used[i] = false;
}
}
int main()
{
f >> n >> k >> m;
for (int i=1; i<=m; i++)
{
int x, y; f >> x >> y;
dusmani[x][y] = true;
dusmani[y][x] = true;
}
bkt(1);
return 0;
}