Seifs

Seifs

ļoti grūts
Latvijas Informātikas olimpiādes logo
Uzdevums no Latvijas 38. (2024./2025. m. g.) informātikas olimpiādes (LIO) novada kārtas; vecākajai (11.-12. klašu) grupai.

Stāsts

Inženieris Žeņa veido izsmalcinātu elektroniski-mehānisku seifa atslēgu, kura sastāv no apļveida korpusa ar NN kontaktiem un grozāma koncentriska regulāra NN-stūra tā iekšpusē. Katra daudzstūra virsotne arī ir kontakts. Sākotnēji katra regulārā daudzstūra virsotne atrodas pretī kādam no korpusa kontaktiem. Iekšējais daudzstūris ir grozāms, bet tikai par konstantu soli - veselu skaitu iedaļu. Tādējādi, iekšējā daudzstūra virsotnes arī pēc pagriešanas vienmēr atrodas pretī korpusa kontaktiem. Vienam vai vairākiem korpusa kontaktiem ir pievienoti sarkani vadi, kas tos savieno ar citām elektroniskās shēmas sastāvdaļām. Līdzīgi, daudzstūra iekšpusē esošās komponentes ir savienotas ar daudzstūra virsotnēm, izmantojot zilus vadus.

Gan korpusa, gan daudzstūra virsotņu kontakti ir numurēti pulksteņrādītāja virzienā ar naturāliem skaitļiem no 11 līdz NN pēc kārtas. Sākotnēji katram ii (1iN)(1 \leq i \leq N), kontakti ar vienādiem numuriem ir savienoti (atrodas pretī viens otram).

Nepieciešams pēc iespējas mazāku pagriezienu skaitu pulksteņrādītāja virzienā pagriezt iekšējo daudzstūri tā, ka nevienam savienoto kontaktu pārim abiem nebūtu pievienoti vadi. Vai arī noteikt, ka to izdarīt nevar.

1. un 2. attēls: sākuma stāvoklis un pēc pagriešanas par trim iedaļām
1. un 2. attēls: sākuma stāvoklis un pēc pagriešanas par trim iedaļām

Piemēram, ja N=5N=5 un vadi pievienoti korpusa kontaktiem 11 un 33, kā arī daudzstūra virsotnēm 11, 22 un 44 (skat. attēlu), tad daudzstūri pagriežot par trim iedaļām, tiks panākts, ka nevienam savienoto kontaktu pārim abiem vienlaicīgi vadi nav pievienoti. Daudzstūra virsotnes ar pievienotiem vadiem tagad atrodas pret korpusa kontaktiem 44, 55 un 22.

Uzrakstiet datorprogrammu, kas nosaka mazāko iedaļu skaitu, par kādu pulksteņrādītāja virzienā jāpagriež iekšējais daudzstūris, lai nevienam savienoto kontaktu pārim nebūtu pievienoti abi vadi, vai arī, ka šāds pagrieziens neeksistē!

Ievaddati

Ievaddatu pirmajā rindā dots naturāls skaitlis - iedaļu skaits NN (3N105)(3 \leq N \leq 10^5).

Otrajā rindā dots to korpusa kontaktu, kuriem pievienoti vadi, apraksts: pirmais ir vesels nenegatīvs skaitlis SkS_k (0SkN)(0 \leq S_k \leq N) - šādu kontaktu skaits, kam augošā secībā seko SkS_k naturāli skaitļi robežās no 11 līdz NN - šo kontaktu numuri.

Trešajā rindā tādā pat formātā ir aprakstīti SdS_d (0SdN)(0 \leq S_d \leq N) daudzstūra virsotņu kontakti, kam ir pievienoti vadi.

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

Izvaddati

Izvaddatu vienīgajā rindā jāizvada vesels skaitlis - mazākais iedaļu skaits, pa kādu pulksteņrādītāja virzienā jāpagriež iekšējais daudzstūris, lai iegūtu uzdevuma tekstā aprakstīto situāciju, vai 1-1, ja tādu panākt nav iespējams.

Piemēri

Ievaddati

5 2 1 3 3 1 2 4 Kopēt kodu

Izvaddati

3 Kopēt kodu

Ievaddati

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

Izvaddati

-1 Kopēt kodu

Ievaddati

6 0 3 2 4 6 Kopēt kodu

Izvaddati

0 Kopēt kodu

Izpildes resursu ierobežojumi

CPU izpildes laiks uz testu: 1.5 sekundes.
RAM atmiņas apjoms uz testu: 256 megabaiti.

Apakšuzdevumi un to vērtēšana

#Apraksts un ierobežojumiPunkti
1.

Uzdevuma tekstā dotie trīs testi.

2
2.

N10000N \leq 10000.

28
3.

Sk,Sd10000S_k, S_d \leq 10000.

30
4.

Bez papildu ierobežojumiem.

40
Apakšuzdevumu punktu summa = 100.

1. apakšuzdevuma ievaddati

10 3 1 8 10 5 2 3 4 7 8 Kopēt kodu
20 5 1 8 16 17 18 6 1 2 3 6 16 19 Kopēt kodu