Cod sursa(job #406000)

Utilizator freak93Adrian Budau freak93 Data 1 martie 2010 08:08:03
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream>
#include<algorithm>
#include<bitset>

using namespace std;

const char iname[]="dusman.in";
const char oname[]="dusman.out";
const int maxn=1005;

ifstream f(iname);
ofstream g(oname);

int a[maxn],i,n,k,m,x,y;
bitset<maxn> d[maxn];

void test()
{
    for(i=2;i<=n;++i)
        if(d[a[i]][a[i-1]])
            return;
    --k;
}

void afis()
{
    for(i=1;i<=n;++i)
        g<<a[i]<<" ";
    g<<"\n";
}

int main()
{
    f>>n>>k>>m;
    for(i=1;i<=n;++i)
        a[i]=i;
    for(i=1;i<=m;++i)
        f>>x>>y,d[x][y]=d[y][x]=1;
    do
    {
        test();
        if(k==0)
        {
            afis();
            break;
        }
        next_permutation(a+1,a+n+1);
    }while(1);

    f.close();
    g.close();

    return 0;
}