Cod sursa(job #1342546)

Utilizator GinguIonutGinguIonut GinguIonut Data 14 februarie 2015 10:47:26
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#include <string.h>
using namespace std;
ifstream fin("dusman.in");
ofstream fout("dusman.out");
bool mat[1001][1001],viz[1001];
int nr,q,m,n,x[1001],sol[1001],i,a,b,ok;
void back(int k)
{
    int i;
    if(k>n)
    {
        nr++;
        if(nr==q)
            {
                memcpy(sol,x,sizeof(sol));
                ok=1;
                return;
            }
    }
    else
    {

        for(i=1;i<=n;i++)
        {
            if(viz[i]==0&&mat[x[k-1]][i]==0)
            {
                x[k]=i;
                viz[i]=1;
                back(k+1);
                viz[i]=0;
                if(ok==1)
                    return;
            }
        }
    }
}
int main()
{
    fin>>n>>q>>m;
    for(i=1;i<=m;i++)
    {
        fin>>a>>b;
        mat[a][b]=1;
        mat[b][a]=1;
    }
    back(1);
    for(i=1;i<=n;i++)
        fout<<sol[i]<<" ";
    return 0;
}