Cod sursa(job #406002)

Utilizator freak93Adrian Budau freak93 Data 1 martie 2010 08:18:17
Problema Dusman Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 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;
bitset<maxn> d[maxn],v[maxn];

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

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

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

    return 0;
}