fbpx

Problema #1942 – CicluHamiltonian – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Dându-se un număr natural N, aflaţi numărul de cicluri Hamiltoniene dintr-un graf complet cu N noduri.

Date de intrare

Programul citește de la tastatură numărul N.

Date de ieșire

Programul va afișa pe ecran numărul cerut.

Restricții și precizări

  • 3 ≤ N ≤ 100
  • două cicluri diferă dacă au cel puțin o muchie diferită

Exemplu

Intrare

3

Ieșire

1

Explicație

Un graf complet cu 3 noduri are un ciclu Hamiltonian.

#include <bits/stdc++.h>
using namespace std;

int n , x[1001];

void inmultire(int k)
{
    int t = 0;
    for(int i = 1 ; i <= x[0] ; i++)
    {
        int c = x[i] * k + t;
        x[i] = c % 10;
        t = c / 10;
    }
    while(t)
    {
        x[0]++;
        x[x[0]] = t % 10;
        t = t / 10;
    }
}

int main()
{
    cin >> n;
    x[0] = 1 , x[1] = 1;
    for(int i = 3 ; i <= n - 1 ; i ++)
    {
        inmultire(i);
    }

    for(int i = x[0] ; i >= 1 ; i--)
        cout << x[i];
}
Comentarii

S-ar putea sa iti placa