Model subiect olimpiada de informatică, clasa a 9-a, faza județeană

Balba
Fișier de intrare balba.in
Fișier de ieșire balba.out
Regele George al VI-lea al Regatului Unit s-a confruntat cu o problemă neobișnuită pentru o persoană
care trebuia sățină discursuri: era bâlbâit. Acesta se bâlbâia chiarși când spunea numere. Interesant
este faptul că, atunci când spunea un număr, el repeta doar una dintre cifrele acelui număr, imediat după
ce pronunța cifra respectivă.
Spre exemplu, numărul70243 putea fi rostit atunci când se bâlbâia ca770243 sau ca 700243 sau ca
702243 sau ca 702443 sau ca 702433.
Un palilindrom este un număr natural pentru care există o bâlbâială a regelui care îl transformă într-un
palindrom.
Spre exemplu, 25373552 este un palilindrom, pentru că după o bâlbâială poate deveni255373552, acesta
fiind un număr palindrom.
Cerințe
Fiind dat un număr natural nenulX să se determine:
1. Câte numere diferite poate generaX după o bâlbâialăși câte numere diferite pot deveniX după o
bâlbâială.
2. Cel mai mare numărpalilindrom care se poate forma cu cifrele lui X. Nu este obligatoriu să se
folosească toate cifrele luiX.
Date de intrare
Pe prima linie a fișierului de intrare balba.in se află numărulC, număr care poate fi1 sau 2 și reprezintă
cerința ce trebuie rezolvată.
Pe cea de-a doua linie se află numărulN, reprezentând numărul de cifre al număruluiX.
Pe următoarea linie se află, în ordine, cifrele luiX, separate prin câte un spațiu.
Date de ieșire
DacăC este 1, fișierul de ieșire balba.out va avea obligatoriu două linii, fiecare linie conținând exact un
număr.
Pe prima linie se va scrie un număr natural ce reprezintă câte numere diferite poate generaX după o
bâlbâială.
Pe cea de-a doua linie se va scrie un număr natural ce reprezintă câte numere diferite pot deveniX după
o bâlbâială.
DacăC este 2, pe prima linie a fi șierului de ieșire balba.out se va scrie cel mai mare numărpalilindrom
ce se poate crea cu cifrele lui X.
1/2Olimpiada Națională de Informatică
Etapa Județeană
13 martie 2022
Clasa a 9-a
Restricții și precizări
• 1 ≤ N ≤ 105
• NumărulX este un număr natural nenul cu maxim 100000 de cifre.
• Un număr palindrom este un număr care are aceeași valoare dacă este citit de la stânga la dreapta
sau de la dreapta la stânga.
• Pentru rezolvarea corectă a cerinței 1 se vor acorda 40 de puncte. Pentru fiecare număr corect afișat
se va acorda jumătate din punctajul asociat testului.
• Pentru rezolvarea corectă a cerinței 2 se vor acorda 60 de puncte.

Oneout
Fișier de intrare oneout.in
Fișier de ieșire oneout.out
Definim un numărliber de pătrateca fiind un număr natural care nu are ca divizor niciun pătrat perfect
mai mare ca 1. Prin convenție, 1 este considerat liber de pătrate.
Așadar, șirul numerelor libere de pătrate este: 1, 2, 3, 5, 6, 7, 10, 11, 13, 14, 15, 17, . . .
Se consideră un șir de N numere naturale Xi, 1 ≤ i ≤ N, unde N este un număr natural.
O secvență este un subșir format din numere aflate pe poziții consecutive în șirul dat.
Definim o bisecvențăca un subșir nevid obținut prin eliminarea dintr-o secven ță a unui număr care nu
este la începutul sau la sfârșitul secvenței.
Cerințe
1. Să se determine câte numerelibere de pătrateconține șirul dat.
2. Să se determine cea mai lungăbisecvențădin șir formată din numerelibere de pătrate, obținută prin
eliminarea unui număr carenu este liber de pătrate
Date de intrare
Fișierul de intrare oneout.in conține pe primul rând un număr naturalC, care poate fi doar 1 sau 2,
reprezentând cerința, pe a doua linie numărul naturalN iar pe a treia linie N numere naturale, separate
prin câte un spațiu, cu semnificația de mai sus.
Date de ieșire
DacăC este egal cu 1, în fișierul de ieșire oneout.out se va scrie numărul de numere libere de pătrate
din șir.
DacăC este egal cu 2:
• pe prima linie a fi șierului de ieșire oneout.out se vor scrie două numereL și K despărțite printr-
un spațiu, unde L reprezintă lungimea maximă a uneibisecvențe cu proprietățile cerute, iar K
reprezintă numărul debisecvențe de lungime maximă existente în șir
• pe următoareleK linii se vor scrie indicii de începutși de sfârșit ai fiecăreibisecvențe de lungime
maximă găsite, în ordinea crescătoare a indicelui de starțdespărțite printr-un spațiu
• dacă șirul nu conține nicio bisecvențăcu proprietățile cerute, în fișierul de ieșire se va scrie −1
Restricții și precizări
• 3 ≤ N ≤ 106
• 2 ≤ Xi ≤ 106, 1 ≤ i ≤ N
• Lungimea unei bisecvențe reprezintă numărul de numere din aceasta
Subtaskuri
• Pentru teste în valoare de 37 puncteC = 1, din care pentru teste în valoare de 24 puncte 3≤ N ≤ 25
• Pentru teste în valoare de 63 puncteC = 2, din care pentru teste în valoare de 23 puncte 3≤ N ≤ 101
1/2Olimpiada Națională de Informatică
Etapa Județeană
13 martie 2022
Clasa a 9-a

Pergament
Fișier de intrare pergament.in
Fișier de ieșire pergament.out
Deși nu obișnuiește să deseneze, Adrian are o pasiune inedită: îi place să schițeze pe hârtie orașe imaginare...
mai exact cum ar arăta acestea văzute de sus.În acest an, de ziua lui a primit cadou un pergament!
Normal că menirea acestuia va fi ca Adrian să deseneze pe el schița celui mai mare ora șpe care și l-a
imaginat până acum.
Pergamentul are lățimea unei coli de hârtie, însă lungimea sa este neașteptat de mare.
De asemenea, pergamentul este împărțit în pătrate astfel încât pe lungime se află exact
N pătrate iar pe lățime se află exactK pătrate. Astfel, Adrian are la dispoziție exact
N ∗ K pătrate pe care le poate colora.
El decide să coloreze doar străzile orașului, deoarece nu are timp de mai multși plănuiește
să folosească două tipuri de străzi:
1. Străzi orizontale
• Vor fi desenate ca o secvență continuă de pătrate albastre.
• Pe fiecare rând de la 1 laN se va afla exact o stradă orizontală. Deci, la
final vor fi exact N străzi orizontale.
• Fiecare stradă se desfășoară pe un singur rând.
• Lungimea fiecărei străzi va fi de minim un pătratși de maxim K pătrateși
este egală cu numărul de pătrate ce o compun.
• Strada poate începe pe oricare pătrat de pe rândși poate avea orice lungime
cât timp nu depășește limitele pergamentului.
2. Străzi verticale
• Vor fi desenate ca o secvență continuă de pătrate roșii.
• Adrian va desena exact Q străzi verticale, desfășurate pe una dintre coloanele
de la 1 la K.
• Pe o coloană pot exista mai multe străzi verticale cu condi ția să nu se
suprapună. Nu este obligatoriu să existe străzi verticale pe toate coloanele.
• Lungimea fiecărei străzi va fi de minim un pătratși de maxim N pătrateși
este egală cu numărul de pătrate ce o compun.
• Strada poate începe pe oricare pătrat de pe coloanăși poate avea orice
lungime cât timp nu depășește limitele pergamentului.
La final, Adrian observă că anumite pătrate au devenit mov, deoarece fac parte atât
dintr-o stradă verticală câtși din una orizontală, deci au fost colorate atât cu roșu cât
și cu albastru. Adrian este fascinat de apari ția acestora și vrea săștie câte pătrate mov
sunt în desenul său. Fiind prea obosit să le numere, vă roagă pe voi să-l ajutați.
Cerință
Cunoscând numereleN, K, Q, precum și poziționarea celor N străzi orizontaleși a celor Q străzi verticale,
să se determine numărul de pătrate mov din pergament.
1/3Olimpiada Națională de Informatică
Etapa Județeană
13 martie 2022
Clasa a 9-a
Date de intrare
Pe prima linie a fi șierului de intrare pergament.in se află trei numere naturale separate prin cate un
spațiu: N K Q, cu semnificația din enunț.
Pe a doua linie se află patru numere naturale separate prin câte un spațiu: A B C D.
Pe a treia linie se află două numere naturaleX1 Y1, unde X1 reprezintă coloana pătratului de început al
străzii orizontale de pe rândul 1, iarY1 reprezintă lungimea acesteia.
Datele următoarelorN − 1 străzi se vor calcula prin formulele de mai joșundeXi reprezintă coloana
pătratului de început al străzii orizontale de pe rânduli (2 ≤ i ≤ N), iar Yi reprezintă lungimea acesteia:
• Xi = 1 + (Xi−1 ∗ A + B) % K
• Yi = 1 + (Yi−1 ∗ C + D) % (K − Xi + 1)
Pe următoareleQ linii se află câte trei numere naturaleJ R L, unde J reprezintă coloana pe care se
află strada verticală,R reprezintă rândul pe care se află pătratul de început al străzii, iarL reprezintă
lungimea străzii.
Date de ieșire
În fișierul de ieșire pergament.out se va afla un singur număr natural ce reprezintă numărul de pătrate
mov din desenul lui Adrian.
Restricții și precizări
• 1 ≤ N ≤ 10.000.000
• 1 ≤ K ≤ 50
• 1 ≤ Q ≤ 100.000
• 1 ≤ A, B, C, D≤ 10.000.000
• 1 ≤ Xi ≤ K
• 1 ≤ Yi ≤ K − X + 1
• 1 ≤ J ≤ K
• 1 ≤ R ≤ N
• 1 ≤ L ≤ N − R + 1
• Rândurile sunt numerotate de la 1 laN, iar coloanele sunt numerotate de la 1 la K
Subtaskuri
• Pentru 40 puncte N ≤ 20.000
• Pentru 70 de puncte N ≤ 500.000
• Pentru 100 de puncte nu există condiții adiționale.