Cod sursa(job #406019)

Utilizator freak93Adrian Budau freak93 Data 1 martie 2010 08:33:11
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<fstream>
#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 x[maxn],i,n,k,m,a,y,ok;
bitset<maxn> d[maxn],v;

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

void back(int i)
{
    if(i>n)
    {
        --k;
        if(k==0)
        {
            afis();
            ok=1;
        }
        return;
    }
    for(int j=1;j<=n&&!ok;++j)
        if(v[j]==0&&d[j][x[i-1]]==0)
        {
            x[i]=j;
            v[j]=1;
            back(i+1);
            v[j]=0;
        }
}

int main()
{
    f>>n>>k>>m;
    for(i=1;i<=m;++i)
        f>>a>>y,d[a][y]=d[y][a]=1;
    back(1);

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

    return 0;
}