Vienvirziena ielas

Stāsts
Kādā pilsētā visas ielas ir vienvirziena un katra no tām ir vērsta vai nu ziemeļu (kartē vertikāli uz augšu), vai dienvidu (kartē vertikāli uz leju), vai rietumu (kartē horizontāli pa kreisi), vai austrumu (kartē horizontāli pa labi) virzienā (skat. 1. attēlu).
Kopumā ielas ir vērstas ziemeļu vai dienvidu virzienā, bet ielas — austrumu vai rietumu virzienā. Ziemeļu/dienvidu ielas ir sanumurētas ar naturāliem skaitļiem no līdz pēc kārtas, sākot no kreisās puses uz labo, bet rietumu/austrumu ielas ir sanumurētas ar naturāliem skaitļiem no līdz pēc kārtas, sākot no augšas uz leju.

Ielu tīkla piemērs, kur un , parādīts 2. attēlā.

Katru krustojumu varam viennozīmīgi raksturot, norādot ziemeļu/dienvidu un rietumu/austrumu ielu numurus.
Par ielas posmu sauksim ielas nogriezni starp diviem krustojumiem (posmā var būt citi krustojumi), kas vērsts attiecīgās ielas virzienā. Piemēram, ir posms, bet — nav. Nepieciešams noteikt, kāds mazākais ielu posmu skaits jāveic, lai no viena krustojuma tiktu līdz kādam citam, ja tas vispār ir iespējams.
Piemēram, 2. attēlā, lai no krustojuma nonāktu krustojumā , jāveic divi posmi: . Lai no nokļūtu , vajadzēs izmantot, mazākais, trīs posmus: vai , vai vēl kādā citā veidā. Savukārt, viegli pamanīt, ka no neviena cita krustojuma nav iespējams nonākt krustojumā , jo abas ielas "iet prom" no šī krustojuma.
Uzrakstiet datorprogrammu, kas dotam ceļu tīklam katram no dotajiem krustojumu pāriem nosaka, ar kādu mazāko posmu skaitu no pirmā krustojuma iespējams tikt uz otro, ja tas ir iespējams!
Ievaddati
Pirmajā rindā doti naturāli skaitļi (ielu skaits ziemeļu/dienvidu virzienā, ), (ielu skaits rietumu/austrumu virzienā, ) un (krustojumu pāru skaits, ).
Otrajā rindā kā pirmais dots vesels nenegatīvs skaitlis (ielu skaits dienvidu virzienā, ). Tam seko naturāli skaitļi augošā secībā: ielu, kas vērstas dienvidu virzienā, numuri. Pārējās ielas ir vērstas ziemeļu virzienā.
Trešajā rindā kā pirmais dots vesels nenegatīvs skaitlis (ielu skaits austrumu virzienā, ). Tam seko naturāli skaitļi augošā secībā: ielu, kas vērstas austrumu virzienā, numuri. Pārējās ielas ir vērstas rietumu virzienā.
Nākamajās rindās katrā ir viena krustojumu pāra apraksts — četri naturāli skaitļi , , , (, , , ), kur ir pirmā krustojuma, bet — otrā krustojuma koordinātas.
Izvaddati
Izvaddatiem jāsatur tieši rindas. Katram () izvaddatu -tajā rindā jābūt atbildei par krustojumu pāri, kas ievaddatos dots kā -tais pēc kārtas. Ja no pirmā krustojuma iespējams nonākt otrajā, tad atbildei jābūt mazākajam ielu posmu skaitam, kas to ļauj paveikt, vai, ja nokļūt nav iespējams, skaitlim .
Piemēri
Ievaddati
7 8 5
1 4
5 1 4 5 6 7
1 8 7 1
6 8 4 4
3 2 7 8
2 8 2 2
2 2 2 8
Izvaddati
2
3
-1
1
4
Piezīme:
Atbilst piemēram uzdevuma tekstā.
Ievaddati
3 2 3
2 1 3
0
3 1 1 2
1 1 2 2
2 1 2 1
Izvaddati
2
-1
0
Izpildes resursu ierobežojumi
Apakšuzdevumi un to vērtēšana
| # | Apakšuzdevuma apraksts | Punkti |
|---|---|---|
| 1. | Jāatrisina uzdevuma tekstā dotais piemērs. | 2 |
| 2. | Dienvidu ielu nav vai visas ielas vērstas dienvidu virzienā, un austrumu ielu nav vai visas ielas vērstas austrumu virzienā. | 8 |
| 3. | Ziemeļu/dienvidu ielu skaits nepārsniedz un austrumu/rietumu ielu skaits nepārsniedz . | 20 |
| 4. | Krustojumu pāru skaits nepārsniedz . | 30 |
| 5. | Bez papildu ierobežojumiem. | 40 |
1. apakšuzdevuma ievaddati
9 8 10
3 1 5 9
2 4 5
9 8 9 2
3 7 8 4
7 6 7 6
8 4 4 7
8 7 5 7
4 1 2 6
1 6 5 5
1 4 6 7
5 3 8 5
2 1 9 6
Vienvirziena ielas

Stāsts
Kādā pilsētā visas ielas ir vienvirziena un katra no tām ir vērsta vai nu ziemeļu (kartē vertikāli uz augšu), vai dienvidu (kartē vertikāli uz leju), vai rietumu (kartē horizontāli pa kreisi), vai austrumu (kartē horizontāli pa labi) virzienā (skat. 1. attēlu).
Kopumā ielas ir vērstas ziemeļu vai dienvidu virzienā, bet ielas — austrumu vai rietumu virzienā. Ziemeļu/dienvidu ielas ir sanumurētas ar naturāliem skaitļiem no līdz pēc kārtas, sākot no kreisās puses uz labo, bet rietumu/austrumu ielas ir sanumurētas ar naturāliem skaitļiem no līdz pēc kārtas, sākot no augšas uz leju.

Ielu tīkla piemērs, kur un , parādīts 2. attēlā.

Katru krustojumu varam viennozīmīgi raksturot, norādot ziemeļu/dienvidu un rietumu/austrumu ielu numurus.
Par ielas posmu sauksim ielas nogriezni starp diviem krustojumiem (posmā var būt citi krustojumi), kas vērsts attiecīgās ielas virzienā. Piemēram, ir posms, bet — nav. Nepieciešams noteikt, kāds mazākais ielu posmu skaits jāveic, lai no viena krustojuma tiktu līdz kādam citam, ja tas vispār ir iespējams.
Piemēram, 2. attēlā, lai no krustojuma nonāktu krustojumā , jāveic divi posmi: . Lai no nokļūtu , vajadzēs izmantot, mazākais, trīs posmus: vai , vai vēl kādā citā veidā. Savukārt, viegli pamanīt, ka no neviena cita krustojuma nav iespējams nonākt krustojumā , jo abas ielas "iet prom" no šī krustojuma.
Uzrakstiet datorprogrammu, kas dotam ceļu tīklam katram no dotajiem krustojumu pāriem nosaka, ar kādu mazāko posmu skaitu no pirmā krustojuma iespējams tikt uz otro, ja tas ir iespējams!
Ievaddati
Pirmajā rindā doti naturāli skaitļi (ielu skaits ziemeļu/dienvidu virzienā, ), (ielu skaits rietumu/austrumu virzienā, ) un (krustojumu pāru skaits, ).
Otrajā rindā kā pirmais dots vesels nenegatīvs skaitlis (ielu skaits dienvidu virzienā, ). Tam seko naturāli skaitļi augošā secībā: ielu, kas vērstas dienvidu virzienā, numuri. Pārējās ielas ir vērstas ziemeļu virzienā.
Trešajā rindā kā pirmais dots vesels nenegatīvs skaitlis (ielu skaits austrumu virzienā, ). Tam seko naturāli skaitļi augošā secībā: ielu, kas vērstas austrumu virzienā, numuri. Pārējās ielas ir vērstas rietumu virzienā.
Nākamajās rindās katrā ir viena krustojumu pāra apraksts — četri naturāli skaitļi , , , (, , , ), kur ir pirmā krustojuma, bet — otrā krustojuma koordinātas.
Izvaddati
Izvaddatiem jāsatur tieši rindas. Katram () izvaddatu -tajā rindā jābūt atbildei par krustojumu pāri, kas ievaddatos dots kā -tais pēc kārtas. Ja no pirmā krustojuma iespējams nonākt otrajā, tad atbildei jābūt mazākajam ielu posmu skaitam, kas to ļauj paveikt, vai, ja nokļūt nav iespējams, skaitlim .
Piemēri
Ievaddati
7 8 5
1 4
5 1 4 5 6 7
1 8 7 1
6 8 4 4
3 2 7 8
2 8 2 2
2 2 2 8
Izvaddati
2
3
-1
1
4
Piezīme:
Atbilst piemēram uzdevuma tekstā.
Ievaddati
3 2 3
2 1 3
0
3 1 1 2
1 1 2 2
2 1 2 1
Izvaddati
2
-1
0
Izpildes resursu ierobežojumi
Apakšuzdevumi un to vērtēšana
| # | Apakšuzdevuma apraksts | Punkti |
|---|---|---|
| 1. | Jāatrisina uzdevuma tekstā dotais piemērs. | 2 |
| 2. | Dienvidu ielu nav vai visas ielas vērstas dienvidu virzienā, un austrumu ielu nav vai visas ielas vērstas austrumu virzienā. | 8 |
| 3. | Ziemeļu/dienvidu ielu skaits nepārsniedz un austrumu/rietumu ielu skaits nepārsniedz . | 20 |
| 4. | Krustojumu pāru skaits nepārsniedz . | 30 |
| 5. | Bez papildu ierobežojumiem. | 40 |
1. apakšuzdevuma ievaddati
9 8 10
3 1 5 9
2 4 5
9 8 9 2
3 7 8 4
7 6 7 6
8 4 4 7
8 7 5 7
4 1 2 6
1 6 5 5
1 4 6 7
5 3 8 5
2 1 9 6