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

1 – castel 100 de puncte 
 
Arheologii au descoperit pe un platou muntos greu accesibil ruinele unui castel medieval, pe care l -au fotografiat 
din elicopter, obţinând harta digitizată a acestuia. Harta este memorată sub forma unui tablou bidimensio nal  H, 
compus din NxN pătrate cu latura egală cu unitatea, având ca elemente numere naturale între 0 și 15, care codifică 
forma pereţilor fiecărui pătrat unitar. Dacă scriem numărul natural H[i][j] în baza 2, folosind exact 4 cifre 
binare, fiecare bit dă informații despre unul dintre pereții posibil de construit pe fiecare latură a pătratului unitar din 
poziția (i,j), astfel:  
• dacă bitul de pe poziția 0 are valoarea 1, atunci există perete pe latura vestică (latura din stânga); 
• dacă bitul de pe poziția 1 are valoarea 1, atunci există perete pe latura sudică (latura de jos); 
• dacă bitul de pe poziția 2 are valoarea 1, atunci există perete pe latura estică (latura din dreapta); 
• dacă bitul de pe poziția 3 are valoarea 1, atunci există perete pe latura nordică (latura de sus); 
• un bit de valoare 0 indică lipsa peretelui corespunzător acestuia; 
Pentru un număr scris în baza 2, numerotarea cifrelor începe cu poziția 0, de la dreapta la stânga. 
Castelul este interesant deoarece,  pentru realizarea unei mai bune apără ri, camerele ce -l compun  sunt construite 
fie independenț fie una în interiorul alteia.  Orice camera este construită la o distanţă de cel puţin o unitate faţă de 
zidul ce împrejmuieşte castelul sau faţă de pereţii altor camere.   
Folosind harta, arheologii doresc să afle informaţii privind numărul camerelor şi camera de arie maximă. Prin arie a 
unei camere se înţelege numărul pătratelor unitate cuprinse în interiorul pereților aceasteia, fără a socoti ariile 
camerelor construite în interiorul ei. 
 
Cerinţa 
Cunoscând codificarea hărţii castelului, să se determine: 
1. numărul total al camerelor din castel 
2. aria maximă a unei camere 
3. coordonatele colţurilor din stânga -sușrespectiv dreapta -jos a camerei cu aria maximă. Dacă există mai 
multe camere având aceeaşi arie maximă, atunci se vor afişa coordonatele camerei având colţul din stânga-
sus  (lin1, col1) cu lin1 minimă, iar la linii egale pe aceea cu col1 minimă. 
  
Date de intrare 
Datele de intrare se citesc din fişierul castel.in, care are următoarea structură: 
• Pe prima linie se află numărul natural C, care poate fi egal cu 1, 2 sau 3, în funcţie de cerinţa ce trebuie 
rezolvată; 
• Pe linia următoare se află numărul natural N, reprezentând dimensiunea hărţii; 
• Pe următoarele N linii se găsesc câte N numere naturale din intervalul [0,15], separate prin  câte un spaţiu,  
reprezentând harta castelului. 
 
Date de ieşire 
Datele de ieşire se vor scrie în fişierul castel.ouțastfel: 
• Dacă C = 1, pe prima linie se va scrie numărul total al camerelor din castel; 
• Dacă C = 2, pe prima linie se va scrie aria maximă a unei camere din castel; 
• Dacă C = 3, pe prima linie se vor scrie 4 numere naturale lin1 col1 lin2 col2, separate prin câte 
un spaţiu, reprezentând coordonatele colțurilor din stânga -sușrespectiv dreapta -jos a le camerei de arie 
maximă.   
 
Restricţii şi precizări: 
• 2 <  n ≤  100 
• Se garantează că în castel există cel puţin o cameră; 
• Testele care au C = 1 totalizează  20 de puncte; 
• Testele care au C = 2 totalizează  50 de puncte; 
• Testele care au C = 3 totalizează  20 de puncte; 
• Se acordă 10 puncte din oficiu. Ministerul Educaţiei Naţionale 
Olimpiada de Informatică – etapa judeţeană - liceu Clasa a X-a                                                  
17 martie 2018 ID1.cpp/ID1.c/ID1.pas  
 
    pag. 2 din 2
2 – eq4 100 de puncte 
 
Se dă o expresie matematică în care pot să apară literele x,y,z,țcifre și semnele + sau -. 
Cifrele alăturate formează numere. Literele reprezintă variabile. O variabilă poate fi precedată de un număr. Între 
variabilă și numărul care o precede nu există alte caractere. Un grup format dintr -o literă și , eventual, un număr 
care o precede formează un monom. Un monom nu conține mai multe litere. Numărul care apare într-un monom se 
numește coeficient. 
Expresia poate să conțină și numere care nu sunt urmate de o variabilă. Aceste numere se numesc termeni liberi.  
Expresia este deci alcă tuită din monoame și termeni liberi. Fiecare monom și fiecare termen liber este precedat de 
unul dintre semnele + sau -.
3 – turnuri 100 de puncte 
 
Cel mai nou proiect imobiliar  din capitală  este compus din N blocuri-turn, construite unul lângă altul, de -a lungul 
unui bulevard central și numerotate de la 1 la N. Pentru fiecare turn se cunoaște numărul etajelor din care este compus 
acesta și se mai știe că nu există două turnuri cu același număr de etaje. Ultimele norme urbanistice definesc 
coeficientul de frumusețe al turnului cu numărul Ț ca fiind numărul turnurilor din secvența de turnuri care începe cu 
turnul Șse termină cu turnul D și are următoarele proprietăți: 
• 1≤ S ≤ T ≤ D ≤ N 
• numărul etajelor fiecărui turn di n secvență, cu excepţia turnului Țeste mai mic decât  numărul de etaje ale 
turnului T;  
• Dacă S ≠ 1 atunci turnul S-1 este cel mai apropiat turn di n stânga turnului Țcare are un număr de etaje 
strict mai mare decât turnul T; 
• Dacă D ≠ N atunci turnul D+1 este cel mai apropiat turn din dreapta turnului Țcare are un număr de etaje 
strict mai mare decât turnul T; 
 
Coeficientul de frumusețe al întregu lui ansamblu de turnuri  este suma coeficienților de frumusețe avuţi de  
turnurile componente. Dezvoltatorul proiectului dorește să renunțe la unul dintre turnuri și să construiască în locul 
acestuia un restaurant subteran, acesta considerându -se un turn cu zero etaje. Dezvoltatorul dorește să calculeze 
coeficientul de frumusețe al ansamblului de turnuri, pentru fiecare posibilă amplasare a restaurantului. 
 
Cerinţa 
Cunoscând numărul  N de turnuri și numărul etajelor fiecăruia, determinați coeficientul de frum usețe al ansamblului 
de turnuri pentru toate cele N posibilități de amplasare ale restaurantului, pe pozițiile 1, 2,..., N. 
  
Date de intrare 
Datele de intrare se citesc din fişierul turnuri.in, care are următoarea structură: 
• pe prima linie se află numărul natural N, reprezentând numărul de turnuri; 
• pe a doua linie se află N valori naturale nenule, separate prin câte un spațiu, reprezentând numărul etajelor 
turnurilor;  
 
Date de ieşire 
Datele de ieşire se vor scrie în fişierul turnuri.ouțpe linii separate , astfel: pe linia i (1≤ i ≤  N) se găsește un 
număr natural reprezentând coeficientul de frumusețe al ansamblului dacă restaurantul s-ar construi în locul turnului i. 
 
Restricţii şi precizări: 
• 1 ≤ N ≤ 100 000 
• Numărul de etaje ale unui turn este un număr natural între 1 și 1 000 000 000 
• Pentru teste în valoare de 30 de puncte, avem N ≤ 100 
• Pentru teste în valoare de încă 30 de puncte, avem N ≤ 2000 
• Se acordă 10 puncte din oficiu.