perfect

Time limit: 0.1s Memory limit: 64MB Input: perfect.in Output: perfect.out

Să considerăm secvenţe de grafuri neorientate de tipurile următoare:

  • Tipul AA
    Secvenţa grafurilor de tip AA se construieşte în modul ce se poate deduce din exemplele următoare:

    Observaţi că graful AnA_n are 2n2n vârfuri.
  • Tipul BB
    Secvenţa grafurilor de tip BB se construieşte după modelul următor:
  • Tipul CC
    Secvenţa grafurilor de tip CC se construieşte după modelul următor:

Se numeşte cuplaj perfect în graf o modalitate de a alege muchii ale grafului astfel încât oricare vârf din graf să fie incident cu exact o muchie aleasă. Două cuplaje sunt distincte dacă există o muchie care aparţine unui cuplaj, dar nu aparţine celuilalt.

Cerinţă

Dat fiind un graf de unul dintre tipurile din enunţ, să se determine numărul de cuplaje perfecte distincte ale grafului respectiv.

Date de intrare

Fişierul de intrare perfect.in conţine o singură linie pe care se află un caracter şi un număr natural nenul nn, separate printr-un spaţiu. Caracterul poate fi A,BA, B sau CC şi indică tipul grafului. Numărul natural nn indică numărul de ordine al grafului în secvenţa de grafuri de tipul specificat de caracter.

Date de ieşire

Fişierul de ieşire perfect.out va conţine o singură linie pe care va fi scris numărul de cuplaje perfecte ale grafului din fişierul de intrare.

Restricții și precizări

  • 1n1001 \leq n \leq 100

Exemplul 1

perfect.in

A 4 

perfect.out

5

Explicație

Cele 55 cuplaje perfecte ale grafului A4A4 sunt:

Exemplul 2

perfect.in

B 2

perfect.out

4

Explicație

Cele 44 cuplaje perfecte ale grafului B2B2 sunt:

Exemplul 3

perfect.in

C 2

perfect.out

8

Explicație

Cele 88 cuplaje perfecte ale grafului C2C2 sunt:

Log in or sign up to be able to send submissions!