Documente Academic
Documente Profesional
Documente Cultură
PROBLEME
Data: 30 mai 2020
Concursul acesta este despre RAUGigel. RAUGigel este un elev pasionat de algoritmică și programare, cu o
imaginație bogată, care vă propune astăzi o serie de jocuri, toate având același punctaj.
Acceptați provocarea?
Problema 1. Ambuscada
RAUGigel se gândește la un joc: N soldați, numerotați de la 1 la N sunt prinși într-o ambuscadă. Asupra lor se execută
M atacuri de tun. Atacurile afectează nu doar un soldat, ci un interval de soldați, provocând fiecăruia dintre aceștia
o anumită pierdere (damage). De exemplu, atacul (3,7,5) afectează soldații 3,4,5,6,7 cu 5 damage. La început, toți
soldații au V vieți. RAUGigel se întreabă câți soldați rămân în viață după cele M atacuri.
Cerința
Dându-se N, M, V și apoi M atacuri de tun de forma i j k cu semnificația: fiecare soldat din intervalul închis [i,j] pierde
k vieți, RAUGigel vrea să afle câți soldați din întreaga lui armată mai rămân în viață după cele M atacuri.
Date de intrare
Se citesc de la consolă numerele naturale N, M și V separate cu un spațiu, apoi se citesc M linii pe care se află câte
3 numere naturale i j k separate cu un spațiu, cu semnificația de mai sus.
Date de ieșire
Se afișează la consolă un singur număr natural reprezentând numărul de soldați rămași în viață.
Restricții și precizări
• Limită de timp: 0.01 secunde
• Limită de memorie: 1 MiB
• 2 ≤ N ≤ 109, 1 ≤ M ≤ 105, 1 ≤ V ≤ 109
• In toate testele, 1 ≤ i ≤ j ≤ N, 1 ≤ k ≤ V
• Pentru teste în valoare de 30 de puncte, N<=105 și M<=50
Bd. Expoziției nr.1B, București 012101 sect. 1, Tel: +004-0372.120.101 | Fax: +004-021.318.35.66 | Operator date cu caracter personal
nr.32853/2014
rectorat@rau.ro | www.rau.ro
Exemple:
In: Out: Explicație:
6 4 10 2 Inițial toți soldații aveau 10 vieți.
252
După prima tragere: 10 8 8 8 8 10
137
263 După a doua tragere: 3 1 1 8 8 10
356
După a treia tragere: 3 0 0 5 5 7
După a patra tragere: 3 0 0 0 0 1
In final, 2 soldați au rămas în viață.
Bd. Expoziției nr.1B, București 012101 sect. 1, Tel: +004-0372.120.101 | Fax: +004-021.318.35.66 | Operator date cu caracter personal
nr.32853/2014
rectorat@rau.ro | www.rau.ro
Problema 2. Pixeli
RAUGigel este pasionat de grafică, așa că se gândește să vă facă un cadou de 1 Iunie: un joc cu imagini. El creează
într-un editor grafic o imagine bitmap binară de dimensiuni N X N pixeli. O imagine bitmap binară este o matrice de
pixeli, fiecare pixel fiind un bit. Să considerăm că valoarea 0 (nesetat) înseamnă alb și valoarea 1 (setat) înseamnă
negru. Apoi RAUGigel împarte imaginea în patru imagini pătrate egale de latură N/2 pe care le notează de la 1 la 4
(1 este imaginea din colțul dreapta-sus, 2 este cea din colțul dreapta-jos, 3 stânga-jos și 4 stânga-sus). El repetă
procedeul pentru fiecare dintre cele 4 imagini obținute, și tot așa, reducând mereu latura la jumătate și notând
direcțiile de la 1 la 4, până când ajunge la imagini de mărimea unui pixel.
Pentru simplitate, să presupunem că N este o putere a lui 2, să spunem K. Deci, după K împărțiri succesive de
imagini, orice pixel poate fi identificat printr-un șir unic format din cifrele 1, 2, 3 și 4, de lungime K.
De exemplu, dacă N=4, atunci K=2. Vom avea 2 împărțiri succesive:
→ →
Bd. Expoziției nr.1B, București 012101 sect. 1, Tel: +004-0372.120.101 | Fax: +004-021.318.35.66 | Operator date cu caracter personal
nr.32853/2014
rectorat@rau.ro | www.rau.ro
Exemple:
In: Out: Explicație:
4 11 0 Inițial imaginea este albă:
1 11 4
00 00
1 22 4
00 00
2 22 1
2 33 4 00 00
2 44 4 00 00
2 24 16 După primele 2 operații de tip 1, imaginea va conține:
1 22
2 22 00 01
2 24 00 00
1 11 00 00
2 44 00 01
Bd. Expoziției nr.1B, București 012101 sect. 1, Tel: +004-0372.120.101 | Fax: +004-021.318.35.66 | Operator date cu caracter personal
nr.32853/2014
rectorat@rau.ro | www.rau.ro
Problema 3. Joc de șah
RAUGigel a terminat cursurile on-line pe ziua de astăzi. El tot la jocuri se gândește. De această dată la un joc cu
piesele de șah. El desenează o tablă de șah sub forma unei matrici pătratice de dimensiune N și așează în fiecare
dintre cele N x N celule câte o piesă de șah. Se consideră că dispune de N X N exemplare din fiecare piesă posibilă
(regi, regine, ture, nebuni, cai, pioni), iar culoarea nu este relevantă. RAUGigel se întreabă care este numărul minim
de căsuțe (celule) prin care trebuie să treacă un rege oarecare ca să ajungă la o regină oarecare. Regele se poate
deplasa câte o celulă în patru direcții posibile: N, E, S, V.
Dar asta nu e tot. La începutul jocului, RAUGigel are 15 vieți. Atunci când RAUGigel mută un rege (oarecare) peste
primul pion, el pierde o viață. Vestea bună este că, după aceea, RAUGigel poate lua oricâți pioni fără ca numărul
său de vieți să fie afectat. Când ia un cal, regele pierde două vieți, dar după aceea poate lua, fără pierderi, oricâți
cai. La fel se întâmplă și în cazul nebunilor, primul nebun îl costa patru vieți și, respectiv al turelor, care îl costă opt
vieți.
RAUGigel dorește să afle care este cel mai scurt drum de la un rege oarecare către o regină oarecare, dar cu condiția
ca la sfârșitul jocului să îi rămână cât mai multe vieți.
Cerința
a) Care este numărul maxim de vieți care îi rămân lui RAUGigel?
b) Prin câte căsuțe trece traseul de lungime minimă? Ce rege mută și pe ce traseu? Dacă există mai multe drumuri
de lungime minimă, atunci se va determina drumul mai mic alfanumeric. (O celulă este mai mică alfanumeric decât
altă celulă dacă se află pe un rând cu indice mai mic sau se află pe același rând cu cea de-a doua, dar pe o coloană
cu indice mai mic)
Date de intrare
Se citește de la consolă un număr natural A. Pentru toate testele de intrare, numărul A poate avea doar
valoarea 1 sau valoarea 2. Apoi se mai citește un rând pe care se găsește numărul natural N, cu semnificația din
enunț. Pe următoarele N linii se află câte N litere mari cu următoarea semnificație: P – pion, C – cal, N - nebun, T -
tură, Q – regină și K – rege. Caracterele de pe fiecare rând nu au spații între ele.
Date de ieșire
Dacă valoarea lui A este 1, se va rezolva numai punctul a) din cerință. În acest caz, se va afișa la consolă un singur
număr natural ce reprezintă numărul de vieți care îi rămân lui RAUGigel la sfârșitul jocului.
Dacă valoarea lui A este 2, se va rezolva numai punctul b) din cerință. În acest caz, se va afișa la consolă, pe prima
linie numărul natural K ce reprezintă numărul de căsuțe prin care trece regele ales (se numără atât căsuța din care
pleacă, cât și cea în care ajunge), apoi pe următoarele K rânduri sunt perechi de forma i j (separate cu un singur
spațiu) unde i și j reprezintă linia, respectiv coloana celulelor prin care trece regele (în ordinea de deplasare).
Restricții și precizări
• Limită de timp: 0.005 secunde
• Limită de memorie: 1 Mib
• 2 ≤ N ≤ 100
• In fiecare test există cel puțin o literă K și cel puțin o literă Q
• Pentru rezolvarea corectă a primei cerinţe se acordă 45 de puncte
Bd. Expoziției nr.1B, București 012101 sect. 1, Tel: +004-0372.120.101 | Fax: +004-021.318.35.66 | Operator date cu caracter personal
nr.32853/2014
rectorat@rau.ro | www.rau.ro
Exemple:
Succes!
Bd. Expoziției nr.1B, București 012101 sect. 1, Tel: +004-0372.120.101 | Fax: +004-021.318.35.66 | Operator date cu caracter personal
nr.32853/2014
rectorat@rau.ro | www.rau.ro