Pagini recente » Cod sursa (job #980891) | Cod sursa (job #2635747) | Cod sursa (job #2385162) | Cod sursa (job #2402527) | Cod sursa (job #788260)
Cod sursa(job #788260)
#include<fstream>
using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
#define NMAX_n 1000
#define NMAX_d 100000
int n = 0, K = 0, m = 0,x[NMAX_n + 1] = {0},ordine = 0,fr[NMAX_n + 1] = {0};
short ok = 1;
struct dusmanii
{
int a;
int b;
}dusmani[NMAX_d + 1];
void afiseaza()
{
for(int i = 1; i <= n; ++i)
g<<x[i]<<' ';
ok = 0;
}
void back(int k)
{
int i;
if(K < 0)
return;
if(k > n)
{
K--;
if(K == 0)
{
afiseaza();
return;
}
}
for(i = 1; i <= n; ++i)
{
int ok1 = 0;
x[k] = i;
fr[x[k]]++;
if((dusmani[x[k]].a != 0 && dusmani[x[k - 1]].b !=0) || fr[i] > 1) ok1 = 1;
if((dusmani[x[k]].b != 0 && dusmani[x[k - 1]].a != 0) || fr[i] > 1)ok1 = 1;
if(ok1 == 0)
back(k + 1);
fr[i]--;
}
}
int main()
{
f>>n>>K>>m;
int nr = 0;
for(int i = 1; i <= m; ++i)
{
f>>nr;
dusmani[nr].a++;
f>>nr;
dusmani[nr].b++;
}
f.close();
back(1);
g.close();
return 0;
}