Cod sursa(job #340013)
| Utilizator | Data | 12 august 2009 16:22:47 | |
|---|---|---|---|
| Problema | Dusman | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.67 kb |
#include <fstream>
#include <bitset>
using namespace std;
int N,K,M,x[1024],cnt;
bitset<1024> U,A[1024];
ifstream f("dusman.in");
ofstream g("dusman.out");
void back(int k)
{
int i,j=x[k-1];
if (k==N+1)
{
++cnt;
if (cnt==K)
{
for (i=1;i<=N;++i) g<<x[i]<<' ';
exit(0);
}
return;
}
for (i=1;i<=N;++i)
if (!U[i] && !A[j][i])
{
x[k]=i;U[i]=1;
back(k+1);
U[i]=false;
}
}
int main()
{
int i,j;
f>>N>>K>>M;
while (M--)
{
f>>i>>j;
A[i][j]=A[j][i]=1;
}
back(1);
return 0;
}
