Atrodas pa ceļam?

3
Latvijas Informātikas olimpiādes logo

Uzdevums no Latvijas 39. (2025./2026. m.g.) informātikas olimpiādes (LIO) novada kārtas; jaunākajai (8.-10. klašu) grupai.

Stāsts

Vilibalds šobrīd uzturas valstī, kuras dzelzceļu tīklā ir NN stacijas. Dzelzceļu tīkls ir veidots tā, ka no katras stacijas uz katru citu iespējams aizbraukt vai nu tieši, vai izbraucot cauri citām stacijām, turklāt tas izdarāms vienā vienīgā veidā. Kad Vilibalds vēlas doties ceļojumā no savas stacijas VV ar agrāko iespējamo vilcienu uz kādu staciju AA, bet vilciena galapunkts ir stacija BB, viņš vēlas noskaidrot, vai AA ir pa ceļam no VV uz BB, t.i., AA ir viena no stacijām maršrutā no VV līdz BB.

Uzskatīsim, ka stacijas ir sanumurētas ar naturāliem skaitļiem no 11 līdz NN pēc kārtas.

Piemēram, 1. attēlā redzamajā dzelzceļa shēmā, ja V=2V=2, tad A=3A=3, B=5B=5 gadījumā atbilde ir pozitīva, bet A=1A=1, B=5B=5 gadījumā - negatīva. Atbilde vienmēr ir pozitīva, ja AA sakrīt ar BB vai VV.

Dzelzceļu tīkla piemērs, N=10
Dzelzceļu tīkla piemērs, N=10

Uzrakstiet datorprogrammu, kas nosaka, vai viena stacija atrodas pa ceļam maršrutā uz otru!

Ievaddati

Pirmajā rindā doti trīs naturāli skaitļi - staciju skaits NN (1N21051 \leq N \leq 2 \cdot 10^5), Vilibalda ceļojumu sākuma stacijas numurs VV (1VN1 \leq V \leq N) un pārbaudāmo staciju pāru skaits SS (1S21051 \leq S \leq 2 \cdot 10^5).

Nākamajā N1N-1 rindā dots dzelzceļu tīkla apraksts. Katrā no šīm rindām doti divi naturāli skaitļi SiS_i un SjS_j (1Si,SjN1 \leq S_i, S_j \leq N, SiSjS_i \neq S_j) - divu tieši savienoto staciju numuri.

Nākamajās SS rindās dots pārbaudāmo staciju pāru apraksts. Katrā no šīm rindām doti divi naturāli skaitļi AiA_i un BiB_i (1Ai,BiN1 \leq A_i, B_i \leq N) - divu staciju numuri.

Starp katriem diviem blakus skaitļiem ir tukšumzīme.

Izvaddati

Izvaddatos jābūt tieši SS rindām. Katram ii (1iS1 \leq i \leq S) izvaddatu ii-tajā rindā jābūt veselam nenegatīvam skaitlim - atbildei par staciju pāri, kas dots ievaddatu (i+1)(i+1)-ajā rindā. Ja stacija AiA_i atrodas maršrutā no stacijas VV līdz stacijai BiB_i, tad šim skaitlim jābūt 11. Pretējā gadījumā attiecīgajā rindā jāizvada skaitlis 00.

Piemēri

Ievaddati

10 2 2 1 7 7 3 2 3 1 6 8 3 9 3 9 4 5 9 5 10 3 5 1 5 Kopēt kodu

Izvaddati

1 0 Kopēt kodu

Ievaddati

9 7 3 1 7 7 3 2 3 1 6 8 3 9 3 9 4 5 9 6 5 9 9 7 4 Kopēt kodu

Izvaddati

0 1 1 Kopēt kodu

Apakšuzdevumi un to vērtēšana

#Apakšuzdevuma aprakstsPunkti
1.

Uzdevuma tekstā dotie trīs testi

2
2.

N100N \leq 100

18
3.

S100S \leq 100

20
4.

Stacijas ir izvietotas ķēdē (katra stacija ir tieši savienota ar ne vairāk kā divām citām)

20
5.

Bez papildu ierobežojumiem

40
Apakšuzdevumu punktu summa = 100.

1. apakšuzdevuma ievaddati

10 4 3 1 7 7 3 2 3 1 6 8 3 9 3 9 4 5 9 5 10 8 7 9 6 5 3 Kopēt kodu
7 3 4 1 7 7 3 2 7 7 4 5 7 7 6 2 3 7 2 1 2 4 4 Kopēt kodu
8 1 4 1 2 2 3 3 4 4 5 5 6 6 7 7 8 2 5 6 3 1 8 4 7 Kopēt kodu