Mai intai trebuie sa te autentifici.
Cod sursa(job #1180313)
| Utilizator | Data | 30 aprilie 2014 15:06:46 | |
|---|---|---|---|
| Problema | Dusman | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.83 kb |
#include<fstream>
using namespace std;
ifstream in("dusman.in");
ofstream out("dusman.out");
int v[1009],n,k,m,sol;
bool a[1009][1009],c[1009];
void citire()
{
int i,n1,n2;
in>>n>>k>>m;
for(i = 1 ; i <= m ; i++)
{
in>>n1>>n2;
a[n1][n2] = a[n2][n1] = true;
}
in.close();
}
void afis()
{
int i;
for(i = 1 ; i <= n ; i++)
out<<v[i]<<" ";
out.close();
}
void back(int s)
{
int i;
if(sol > k) return;
if(s == n+1)
{
sol++;
if(sol == k) afis();
return ;
}
else
for(i = 1 ; i <= n ; i++)
if(!a[i][v[i-1]] && !a[v[i-1]][i] && !c[i]) {
c[i] = true;
v[s] = i;
back(s+1);
c[i] = false;
}
}
int main()
{
citire();
back(1);
return 0;
}
