Cod sursa(job #1661532)

Utilizator contdeteste98Cont de teste contdeteste98 Data 23 martie 2016 22:40:54
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("dusman.in");
ofstream fout("dusman.out");
int n,i,a[1001][1001],x,y,st[1001],p,m,sol;
void tip()
{
    int i;
    for(i=1;i<=n;i++)
        fout<<st[i]<<" ";
}
int valid(int k)
{
    int i;
    if(k>1&&a[st[k-1]][st[k]]) return 0;
    for(i=1;i<k;i++)
        if(st[i]==st[k]) return 0;
    return 1;
}
void back(int k)
{
    int i;
    for(i=1;i<=n;i++)
    {
        st[k]=i;
        if(valid(k))
            if(k==n)
        {
            sol++;
            if(sol==p)
            {
                tip();
                return;
            }
        }
        else back(k+1);
    }
}
int main()
{
    fin>>n>>p>>m;
    for(i=1;i<=m;i++)
    {
        fin>>x>>y;
        a[x][y]=a[y][x]=1;
    }
    back(1);
    //sdfsdfsdfsdfsdfsdfdsfsdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
    return 0;
}