Cod sursa(job #3263574)

Utilizator Andrei1209Andrei Mircea Andrei1209 Data 15 decembrie 2024 10:39:42
Problema Dusman Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>

using namespace std;
ifstream fin("dusman.in");
ofstream fout("dusman.out");
bool a[1005][1005];
int n, k, m, st[1005], cnt;
bool verif(int poz )
{
    if ( a[st[poz]][st[poz - 1]] == 1 )
        return false;
    for ( int i = 1; i < poz; ++i )
        if ( st[i] == st[poz] )
            return false;
    return true;
}
void Back( int poz )
{
    if (poz == n + 1)
    {
        ++cnt;
        if ( cnt == k )
            for ( int i = 1; i <= n; ++i )
                fout << st[i] << " ";
    }
    else
    {
        int i;
        for ( i = 1; i <= n; ++i )
        {
            st[poz] = i;
            if ( verif(poz) == true )
                Back(poz + 1);
        }
    }
}
int main()
{
    fin >> n >> k >> m;
    int i, x, y;
    for ( i = 1; i <= n; ++i )
    {
        fin >> x >> y;
        a[x][y] = a[y][x] = 1;
    }
    Back(1);
    return 0;
}