Pilnie kvadrāti

5
Latvijas Informātikas olimpiādes logo

Uzdevums no 2025. g. LIO atlases kārtas; abām grupām.

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 viv_i līdz virsotnei vjv_j, 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 wiw_i (šķ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.

Svarota koka piemērs.
Svarota koka piemērs.

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 11 un 66 (323^2), 11 un 77 (626^2), 11 un 88 (18218^2), 22 un 44 (222^2), 22 un 55 (424^2), 44 un 55 (222^2), 66 un 77 (626^2), 66 un 88 (18218^2), 77 un 88 (18218^2).

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 NN (2≤N≤2⋅1052 \leq N \leq 2 \cdot 10^5).

Nākamajās N−1N - 1 rindās katrā doti trīs skaitļi uiu_i, viv_i, wiw_i (ui≠viu_i \neq v_i, 1≤ui,vi≤N1 \leq u_i, v_i \leq N, 1≤wi≤1061 \leq w_i \leq 10^6), kas norāda uz to, ka ii-tā šķautne kokā savieno virsotnes uiu_i un viv_i ar svaru wiw_i.

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 aprakstsPunkti
1.

Uzdevuma tekstā dotais tests

2
2.

wi≤2w_i \leq 2

18
3.

wi≤60w_i \leq 60

15
4.

wi≤281w_i \leq 281

15
5.

wi≤2000w_i \leq 2000

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
Apakšuzdevumu punktu summa = 100.

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 Kopēt kodu

Izvaddati

9 Kopēt kodu

Ievaddati

2 1 2 1 Kopēt kodu

Izvaddati

1 Kopēt kodu

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 Kopēt kodu