Time limit: 0.2s
Memory limit: 128MB
Input: echipe.in
Output: echipe.out
Tu ești patronul unei echipe de fotbal. Ai găsit strategia perfectă pentru a câștiga orice meci pe care îl va juca echipa ta. Strategia aceasta constă în a spune fiecărui jucător de a da pase la exact o persoană. Chiar dacă inițial pare o strategie proastă, aceasta te a ajutat să ajungi până în finala campionatului pe sate.
Într-o echipa se formează alte "sub-echipe". O "sub-echipă" reprezintă o mulțime de jucători în care orice jucător poate da pase oricărui alt jucător printr-o pasă indirectă sau o serie de pase. În aceste "sub-echipe" ai stabilit anumite roluri pe care minim un jucător trebuie sa aibă, mai exact roluri diferite.
Cerință
Știind că sunt jucători în echipă, roluri diferite și fiecare pasă pe care o poate face un jucător, să se afle numărul de moduri în care se pot da roluri echipei.
Date de intrare
Pe prima linie a fișierului de intrare echipe.in
se află urmat de . Pe următoarea linie se află un șir de numere naturale , , , .
Pentru fiecare , , jucătorul poate să dea pase jucătorului .
Date de ieșire
Pe prima linie a fișierului de ieșire echipe.out
se va găsi un singur număr întreg, care reprezintă restul împărțirii la a numărului de moduri de a da roluri echipei
Restricții și precizări
- Fiecare numar din intervalul apare în șirul apare decât o dată
- Se asigură faptul că există cel puțin un mod de a da roluri echipei
Subtask-uri
# | Punctaj | Restricții |
---|---|---|
1 | 12 | , |
2 | 40 | |
3 | 48 | Fară restricții suplimentare |
Exemplu
echipe.in
5 2
2 3 1 5 4
echipe.out
12
Explicație
Sub-echipele formate sunt: si
Iar așa arată pasele pe care le vor face jucătorii, iar modurile în care se pot da roluri sunt următoarele ( indică rolul jucătorului ) :
# | r₁ | r₂ | r₃ | r₄ | r₅ |
---|---|---|---|---|---|
1 | 1 | 1 | 2 | 1 | 2 |
2 | 1 | 1 | 2 | 2 | 1 |
3 | 1 | 2 | 1 | 1 | 2 |
4 | 1 | 2 | 1 | 2 | 1 |
5 | 1 | 2 | 2 | 1 | 2 |
6 | 1 | 2 | 2 | 2 | 1 |
7 | 2 | 1 | 1 | 1 | 2 |
8 | 2 | 1 | 1 | 2 | 1 |
9 | 2 | 1 | 2 | 1 | 2 |
10 | 2 | 1 | 2 | 2 | 1 |
11 | 2 | 2 | 1 | 1 | 2 |
12 | 2 | 2 | 1 | 2 | 1 |