Fişierul intrare/ieşire:parcare.in, parcare.outSursăOlimpiada pe scoala 2016 clasa a 7-a
AutorIsabela ComanAdăugată deIsabela_comanComan Isabela Patricia Isabela_coman
Timp execuţie pe test0.5 secLimită de memorie2048 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise

Parcare ( clasa a 6-a )

Mihai a construit de curând un mare mall. La subsolul acestuia se găseşte o parcare dreptunghiulară cu 2 intrări, IN1 si IN2. Parcarea are M linii de parcare, respectiv N sectoare numerotate cu litere mari. Cum parcarea este mai mereu aglomerată, Mihai doreşte să pună la dispoziţie clienţilor săi o aplicaţie pentru telefoanele mobile, pentru rezervarea locurilor de parcare. După ce rezervă un loc de parcare, un client poate vedea informaţii despre locurile de parcare libere, in eventualitatea in care acesta ar dori să mai rezerve şi alte locuri de parcare pentru prieteni. Mihai vrea să testeze aplicaţia şi rezervă un loc de parcare de pe telefonul lui mobil.

Cerinţă

Cunoscând numărul de linii M şi numărul de sectoare N, parcarea rezervată de Mihai, cât şi locurile de parcare care sunt deja ocupate la momentul rezervării, aplicaţia trebuie să furnizeze urmatoarele informaţii:
a) Câte sectoare ale parcării sunt complet goale, inainte ca Mihai să facă rezervarea.
b) Câte locuri de parcare sunt goale, de o parte si de alta a locului de parcare rezervat de Mihai, pe aceeasi linie cu locul de parcare al lui Mihai.
c) Distanţa minimă, măsurată in metri, ce poate fi parcursă de la una din intrări până la locul rezervat de Mihai şi intrarea pe care trebuie să intre clientul pentru a parcurge dinstanţa minima. Pentru usurinţa calculului, considerăm că lungimea şi lăţimea unui loc de parcare, cât şi lăţimea benzilor de circulaţie au aceaşi mărime, şi anume 1m.

Date de intrare

Fişierul de intrare parcare.in conţine:

  • pe prima linie valorile M si N, reprezentând numărul de linii, respectiv de sectoare ale parcarii.
  • pe a doua linie locul de parcare rezervat de Mihai.
  • pe a treia linie un numar P, reprezentând numărul de parcări ocupate,
  • pe a patra linie codurile celor P parcari ocupate, despărţite prin câte un spaţiu.

Date de ieşire

Fişierul de iesire parcare.out conţine:

  • pe prima linie, numărul de sectoare goale,
  • pe a doua linie, numărul de parcări goale de-o parte si de alta a locului de parcare rezervat de Mihai
  • pe a treia linie distanţa minimă până la locul de parcare, cât si intrarea pe care trebuie să intre clientul pentru a parcurge distanţa minima. În cazul în care distanţa minimă poate fi parcursă pornind de la oricare dintre cele 2 intrări, vor fi afişate ambele intrări.

Restricţii

  • 1 <= M <= 1000 ;
  • 2 <= N <= 702 , N par
  • Sectoarele sunt denumite in ordine alfabetica: A,B,C, ….Z, AA, AB, AC, ..etc; 
  • Pentru 80% din teste 1 <= N<= 26
  • Se acordă punctaje parţiale: 30p punctul a) ; 30p punctul b) ; 40p punctul c);

Exemplu

parcare.inparcare.outExplicaţie
8 6
C3
6
A4 A5 B6 E3 E6 F4
2
3
9 1
2 sectoare sunt complet goale: Sectoarele C si D
Sunt 3 parcari libere, pe aceasi linie cu C3, de-o parte si de alta parcarii C3.
Distanta minima pana la C3 este 9 (vezi traseul verde din desen) .
Clientul trebuie sa intre prin intrarea 1.
8 6
C5
6
A4 A5 B6 E3 E6 F4
2
4
11 1 2
2 sectoare sunt complet goale
Sunt 4 parcari libere: B5, D5, E5, F5
Distanţa minimă este 11 şi ea poate fi parcursă de la oricare din cele 2 intrări.
Trebuie sa te autentifici pentru a trimite solutii. Click aici