Pagini recente » Cod sursa (job #903035) | Cod sursa (job #1958416) | Cod sursa (job #799616) | Cod sursa (job #889905) | Cod sursa (job #2482193)
#include <fstream>
#include <iostream>
#include <cstdio>
using namespace std;
//ifstream in ("dusman.in");
ofstream out ("dusman.out");
int st[1015], a[1015][1015], ut[1015], k, n, m, k1;
void afisare()
{
for(int i = 1; i <= n; i++)
out << st[i] << " ";
}
void bkt(int i)
{
for(int kk = 1; kk <= n; kk++)
{
if( !a[st[i - 1]][k] && !ut[kk])
{
st[i] = kk;
ut[kk] = 1;
if(i == n)
{
k1++;
if(k1 == kk)
afisare();
ut[kk] = 0;
}
else{
bkt(i + 1);
ut[kk] = 0;
}
}
}
}
int main()
{
ios::sync_with_stdio(false);
int v1,v2;
FILE *of = fopen ( "dusman.in", "r");
if ( fscanf( of, "%d %d %d", &n ,&k, &m) < 0 )
return 0;
for(int i = 1; i <= m ; i++)
{
fscanf ( of, "%d %d", &v1, &v2);
a[v1][v2] = 1;
a[v2][v1] = 1;
}
bkt(1);
fclose(of);
out.close();
return 0;
}