Cod sursa(job #1495128)

Utilizator ionut98Bejenariu Ionut Daniel ionut98 Data 2 octombrie 2015 17:27:08
Problema Dusman Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<fstream>
using namespace std;
ifstream f("dusman.in");
ofstream g("dusman.out");
int n,m,p,xx,y,mat[1005][1005],x[1005],i,con;
int valid(int k)
{
    for(int i=1;i<k;i++)
      if(x[i]==x[k])
        return 0;
    if(mat[x[k]][x[k-1]]==1)
      return 0;
    return 1;
}
int main()
{
    f>>n>>p>>m;
    while(m--)
    {
        f>>xx>>y;
        mat[xx][y]=mat[y][xx]=1;
    }
    i=1;
    do
    {
        do
        {
            x[i]++;
            if(x[i]>n)
            {
                x[i]=0;
                i--;
            }
            else
                if(valid(i))
                    i++;
        }while(i<=n&&i>0);
        con++;
        if(con==p)
        {
            for(i=1;i<=n;i++)
                g<<x[i]<<" ";
            i=n;
            g<<"\n";
        }
        i=n;
    }while(con<p);
    return 0;
}