Cod sursa(job #874406)

Utilizator RoseCosmina Rebeca Rose Data 8 februarie 2013 12:20:14
Problema Dusman Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
using namespace std;
int k,n,m,j,x[100],c,a,b,d[1001][1001],r;
ifstream f("dusman.in");
ofstream g("dusman.out");

int cont(int k)
{
    if(k>1 && (d[x[k]][x[k-1]]==1 || d[x[k-1]][x[k]]==1)) return 0;
    for(int i=1;i<k;i++)
    if(x[i]==x[k])return 0;
return 1;
}
void tipar(int k)
{
    int i;
    for(i=1;i<=k;i++)
        g<<x[i]<<" ";
        g<<'\n';
}

int main()
{
    f>>n>>r>>m;
    for(j=1;j<=m;j++)
    {
    	f>>a>>b;
    	d[a][b]=1;
    }
    
    k=1;
    x[k]=0;
    while(k>=1)
    {
        if(x[k]<n )
    {
        x[k]++;
        if(cont(k))
                if(k==n)
                    {c++;
                    if(c==r)
                   { tipar(k);
                    return 0;}}
        else
         {k++;
         x[k]=0;}
    }
        else k--;
    }
    return 0;
}