Fișierul intrare/ieșire | table.in, table.out | Sursă | Shumen Juniori 2015 |
---|---|---|---|
Autor | Mladen Manev | Adăugată de | Fares Mohamad • isa_Fares_Mudi |
Timp de execuție pe test | 1 sec | Limită de memorie | 1024 KB |
Scorul tău | N/A | Dificultate | N/A |
Vezi soluțiile trimise | Statistici
Table
Fie N un număr întreg pozitiv. Numerele 1, 2, 3, ..., 2*N sunt împărțite în trei mulțimi A, B și C, formând o partiție.
Cerință
Scrieți un program care calculează numărul de moduri în care poate fi completat un tabel cu 2 linii și N coloane astfel încât:
- Fiecare celulă a tabelului să conțină un singur număr întreg;
- Numerele din mulțimea A să se afle pe prima linie a tabelului;
- Numerele din mulțimea B să se afle pe a doua linie a tabelului;
- Numerele din mulțimea C se pot afla oriunde în tabel;
- Numerele de pe fiecare linie trebuie să fie în ordine crescătoare;
- Numerele de pe fiecare coloană trebuie să fie în ordine crescătoare;
De exemplu, dacă N = 4, A = {2, 3}, B = {4, 7, 8} și C = {1, 5, 6}, atunci sunt exact două modalități de a pune numerele în tabel.
Date de intrare
Fișierul de intrare table.in va conține pe prima linie un număr întreg N. Pe a doua linie se dau M – numărul de valori din mulțimea A, și valorile din A. Pe a treia linie se dau K – numărul de valori din mulțimea B, și valorile din B.
Date de ieșire
În fișierul de ieșire table.out se va afișa o singură linie reprezentând rezultatul.
Restricții
- 1 < N ≤ 35
- 0 ≤ M ≤ N
- 0 ≤ K ≤ N
Exemplu
table.in | table.out |
---|---|
4 2 3 2 3 4 8 7 |
2 |