Lista de probleme 972

Filtrare

#1432 Mutare1 C++

Scrieţi definiţia completă a subprogramului C/C++ aranjare, care are doi parametri, v şi n, prin care primeşte un tablou unidimensional cu maximum 10000 de numere naturale nenule şi, respectiv, numărul de elemente din tablou. Subprogramul rearanjează elementele tabloului astfel încât toate valorile impare să se afle pe primele poziţii, iar valorile pare în continuarea celor impare.

#1496 Harta1

O hartă este codificată printr-o matrice cu N linii și M coloane de elemente numere naturale. Valoarea 0 semnifică o zonă cu apă. Zonele de uscat sunt codificate prin valori între 1 și K. Celulele aparținând unei țări I sunt codificate cu valoarea I. Fiecare țară este împărțită în departamente. Prin definiție, un departament reprezintă o mulțime de celule de aceeași valoare, continuă pe linii și coloane (nu și diagonale).

Fiind dată o hartă codificată ca mai sus. să se determine:

a) Suprafața totală a apei.
b) Lista țărilor cu cele mai multe departamente, ordonată crescător.

Olimpiada locală de Informatică, Prahova, 2016

#1494 s_p_c

Scrieţi un program care citeşte din fişierul de intrare şiruri de caractere de forma cuvânt#tip, unde cuvânt este un şir oarecare de litere iar tip poate fi una din literele S, P sau C, semnificaţia fiind subiect, predicat sau complement. Programul va afişa, în ordine lexicografică, toate propoziţiile având structura subiect predicat complement ce pot fi formate cu ajutorul cuvintelor citite. Datele de intrare se consideră a fi corecte.

#1493 Masca

Se consideră alfabetul compus din literele mici, de la a la z, fără diacritice. Se numeşte cuvânt un şir finit, eventual vid, de litere din alfabet. Se numeşte mască un şir de caractere din alfabet având eventual în plus caracterele ? şi * cu următoarea semnificaţie: caracterul ? înlocuieşte oricare din literele de la a la z (o singură literă) iar caracterul * înlocuieşte un cuvânt oarecare, eventual vid, format cu litere de la a la z.

Spre exemplu avem masca a?b*c. Dacă avem 3 cuvinte şi anume abbc, acbaac şi abac atunci primele 2 se potrivesc cu masca.

Considerându-se o listă de cuvinte, să se determine:

a) Numărul de cuvinte distincte.
b) Numărul de cuvinte distincte ce se potrivesc cu o mască dată, adică se pot obţine prin înlocuirea caracterelor ? şi * din mască.

Olimpiada locală de Informatică, Prahova, 2016

#1489 Bile1

Algorel a primit un set de n bile numerotate de la 1 la n pe care trebuie să le pună în trei cutii identice astfel încât în nicio cutie să nu fie două bile numerotate cu numere consecutive.

În câte moduri poate face Algorel acest lucru?

Olimpiada locală de Informatică, Prahova, 2016

Se dă un cuvânt format din litere ale alfabetului englez și cifre. Afișați toate permutările circulare spre stânga ale sale.

#1098 Reteta

Mama mea este profesoară de informatică, dar îi place foarte mult să gătească. Recent am descoperit caietul ei de reţete, care arată foarte neobişnuit. Fiecare reţetă este scrisă pe un singur rând pe care sunt precizate produsele folosite, cantităţile, precum şi ordinea în care se execută operaţiile. De exemplu:
(unt 50 zahar 250 ou 4)5
ceea ce înseamnă că se amestecă 50 grame unt cu 250 grame zahăr şi cu 4 ouă timp de 5 minute. Pentru fiecare produs mama foloseşte întotdeauna aceeaşi unitate de măsură, aşa că unităţile de măsură nu mai sunt precizate. Numele produsului este scris întotdeauna cu litere mici, iar produsele şi cantităţile sunt separate prin spaţii (unul sau mai multe). Produsele care se amestecă împreună sunt încadrate între paranteze rotunde; după paranteza rotundă închisă este specificat timpul de preparare.

Evident, mama are şi reţeţe mai complicate:
(((zahar 100 ou 3)5 unt 100 nuca 200)4 (lapte 200 cacao 50 zahar 100) 3)20

Să traducem această reţetă: se amestecă 100 grame zahăr cu 3 ouă timp de cinci minute; apoi se adaugă 100 grame unt şi 200 grame nucă, amestecând totul încă 4 minute. Se amestecă 200 ml lapte cu 50 grame de cacao şi 100 grame zahăr timp de 3 minute, apoi se toarnă peste compoziţia precedentă şi se amestecă totul timp de 20 minute.

Observaţi că înainte sau după parantezele rotunde pot să apară sau nu spaţii.

Dată fiind o reţetă să se determine timpul total de preparare, precum şi cantităţile necesare din fiecare produs.

#1478 EasyOCR

Se dă un tablou reprezentând o imagine care conține cifre. Scrieţi un program care să determine:

a) câte cifre sunt în imagine;
b) numărul de apariţii ale fiecărei cifre.

#1476 FSortare C++

Să se scrie o funcție C++ care sortează crescător elementele unei liste simplu înlănţuite.

#1460 serbare

La o serbare sunt n grupe de copii care poartă p tipuri de uniforme. Scrieţi un program care să afişeze pe ecran tipurile de uniforme în ordinea descrescătoare a numărului total de copii ce poartă fiecare tip de uniformă. Afişarea se va face pe o singură linie, valoriile fiind separate printr-un spaţiu.