Pagini recente » Cod sursa (job #2156324) | Cod sursa (job #2484060) | Cod sursa (job #1872145) | Cod sursa (job #963797) | Cod sursa (job #779784)
Cod sursa(job #779784)
#include <fstream>
#include <vector>
#define MAX 1005
using namespace std;
vector<int> v[MAX]; bool taken[MAX];
int n, k, p, a, b, s, sol[MAX];
inline bool dusman(int a, int b)
{
for(int i = 0; i < v[a].size(); i++)
if(v[a][i] == b) return true;
return false;
}
void back(int poz)
{
if(poz == n + 1)
{
k--;
return;
}
for(int i = 1; i <= n && k; i++)
{
if(!taken[i] && !dusman(i, sol[poz - 1]))
{
taken[i] = true;
sol[poz] = i;
back(poz + 1);
taken[i] = false;
}
}
}
int main()
{
ifstream in("dusman.in"); in>>n>>k>>p;
while(p--)
{
in>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
} in.close();
back(1);
ofstream out("dusman.out");
for(int i = 1; i <= n; i++) out<<sol[i]<<" ";
out.close();
return 0;
}