Stāsts
Katrs pietiekami izglītots olimpietis zina, ka neorientēts grafs ir datu struktūra, kas sastāv no virsotnēm un šķautnēm, kur katra šķautne savieno divas virsotnes. Grafu sauc par sakarīgu, ja no jebkuras virsotnes var tikt līdz jebkurai citai, ejot pa šķautnēm.
Šķautņu kopu, pa kurām ejot var nokļūt no virsotnes līdz virsotnei , sauc par ceļu starp šīm virsotnēm. Grafā ceļš, kas ir garāks par 0 un sākas un beidzas vienā un tajā pašā virsotnē, ir cikls. Sakarīgu grafu, kas nesatur ciklu, sauc par koku.
Šajā uzdevumā aplūkosim svarotus kokus - kokus, kur katrai šķautnei piekārtots kāds naturāls skaitlis (šķautnes svars). Patvaļīgām divām virsotnēm aplūkosim visu to šķautņu, kas atrodas uz īsākā ceļa starp šīm virsotnēm, svaru reizinājumu. Nepieciešams noteikt, cik atšķirīgiem virsotņu pāriem šis svaru reizinājums ir naturāla skaitļa kvadrāts.

Piemērā, kas parādīts attēlā, naturāla skaitļa kvadrāts ir svaru reizinājums uz deviņiem ceļiem: starp virsotnēm un (), un (), un (), un (), un (), un (), un (), un (), un ().
Uzrakstiet datorprogrammu, kas dotam svarotam kokam nosaka to atšķirīgo virsotņu pāru, kuriem šķautņu svaru reizinājums uz ceļa starp šīm virsotnēm ir naturāla skaitļa kvadrāts, skaitu!
Ievaddati
Pirmajā rindā dots koka virsotņu skaits - naturāls skaitlis ().
Nākamajās rindās katrā doti trīs skaitļi , , (, , ), kas norāda uz to, ka -tā šķautne kokā savieno virsotnes un ar svaru .
Izvaddati
Izvaddatu vienīgajā rindā jābūt vienam nenegatīvam skaitlim - prasītajam pāru skaitam.
Apakšuzdevumi un to vērtēšana
| # | Apakšuzdevuma apraksts | Punkti |
|---|---|---|
| 1. | Uzdevuma tekstā dotais tests | 2 |
| 2. | 18 | |
| 3. | 15 | |
| 4. | 15 | |
| 5. | 15 | |
| 6. | Katra koka virsotne ir savienota ar ne vairāk kā divām citām virsotnēm | 15 |
| 7. | Bez papildu ierobežojumiem | 20 |
Piemēri
Ievaddati
8
1 2 3
2 3 2
3 4 2
4 5 4
2 6 3
3 7 6
4 8 27
Izvaddati
9
Ievaddati
2
1 2 1
Izvaddati
1
1. apakšuzdevuma ievaddati
10
8 2 5
8 4 1
3 2 7
8 5 2
6 2 2
9 5 6
1 4 1
3 10 1
7 8 3