CSES - Datatähti 2017 loppu - Noitapeli
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Noitapelissä on n pelaajaa, joista 3 on noitia ja n-3 on kyläläisiä. Kyläläisten tehtävänä on selvittää, ketkä pelaajat ovat noitia.

Alussa jokainen pelaaja saa tietää oman roolinsa. Lisäksi jokainen noita saa tietää, ketkä muut ovat noitia, mutta kyläläiset eivät saa tietoa rooleista. Kyläläisten tehtävänä on onnistua selvittämään noidat pelin aikana.

Pelissä järjestetään äänestys, jossa jokainen pelaaja syyttää yhtä toista pelaajaa noidaksi. Noita ei koskaan syytä pelaajaa, joka todellisuudessa on noita. Sen sijaan kyläläinen voi syyttää joko toista kyläläistä tai noitaa.

Sinulle annetaan äänestyksen tulokset ja tehtäväsi on selvittää, montako mahdollista tapaa on, ketkä pelaajat ovat noitia.

Syöte

Ensimmäisellä rivillä on kokonaisluku n: pelaajien määrä. Pelaajat on numeroitu 1,2,\ldots,n.

Seuraavalla rivillä on n kokonaislukua x_1,x_2,\ldots,x_n. Tässä x_k on sen pelaajan numero, jota pelaaja k syyttää noidaksi.

Tuloste

Tulosta yksi kokonaisluku: montako mahdollista tapaa on, ketkä pelaajat ovat noitia.

Esimerkki

Syöte:

6
2 5 4 1 4 5

Tuloste:

4

Selitys: Noidat voivat olla (1,3,5), (1,3,6), (2,3,6) tai (2,4,6).

Osatehtävä 1 (23 pistettä)

  • 3 \le n \le 100

Osatehtävä 2 (24 pistettä)

  • 3 \le n \le 5000

Osatehtävä 3 (53 pistettä)

  • 3 \le n \le 10^5