Pagini recente » Cod sursa (job #2225485) | Cod sursa (job #2077990) | Cod sursa (job #1139080) | Cod sursa (job #2910156) | Cod sursa (job #2479596)
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("dusman.in");
ofstream fout("dusman.out");
int perm[1005], nodes[1005][1005], viz[1005];
void permutare(int poz, int k, int n, int &cnt)
{
if(poz == n+1)
{
cnt++;
if(k == cnt)
{
for(int i = 1; i <= n; i++)
{
fout << perm[i] << " ";
}
}
return;
}
for(int i = 1; i <= n; i++)
{
if(!viz[i])
{
if(nodes[i][perm[poz-1]] == 0)
{
viz[i] = 1;
perm[poz] = i;
permutare(poz+1, k, n, cnt);
viz[i] = 0;
}
}
}
}
int main()
{
int n, m, k;
fin >> n >> k >> m;
for(int i = 1; i <= m; i++)
{
int f1, f2;
fin >> f1 >> f2;
nodes[f1][f2] = 1;
nodes[f2][f1] = 1;
}
int cnt = 0;
permutare(1, k, n, cnt);
fin.close();
fout.close();
return 0;
}