Lista de probleme 107

Filtrare

rgb

#4137

Ionuţ, tânăr programator, se lansează pe piaţa producătorilor de jocuri pe calculator. Jocul pe care l-a proiectat se numeşte RGB. În joc există N personaje extraterestre. Scrieţi un program care, cunoscând culorile şi puterile extratereştrilor, rezolvă următoarele două cerinţe:
1) determină puterea extraterestrului care câştigă cele mai multe lupte; dacă există mai mulţi astfel de extratereştri, se va afişa puterea minimă;
2) determină pentru fiecare extraterestru numărul de lupte câştigate de acesta.

Se dau N secvențe speciale de forma [a, b] și apoi T secvențe de interogare [L,R]. Orice secvență care include cel puțin o secvență specială va fi numită secvență super-specială. Numărul de secvențe super-speciale pe care o secvență [L, R] le include va fi denumit capacitatea secvenței [L, R]. Pentru fiecare secvență de interogare, să se determine capacitatea sa.

Lot juniori, Cluj-Napoca 2022

Dale C++

#4396

Se consideră o curte de dimensiuni n×m. Curtea trebuie pavată cu dale identice de dimensiuni a×b, unde a și b sunt numere întregi. O dală costă $1, iar bugetul nostru este de $B. Câte perechi (a,b) există, astfel încât putem pava curtea cu dale de dimensiuni a×b și costul total al dalelor necesare nu depășește $B?

Concursul Aurel Vlaicu 2023, clasele 9-10, 11-12

dominew

#4435

Pentru că se plictisește și este foarte inteligent, Radu l-a rugat pe prietenul lui, savantul Feder, să creeze o activitate care să-i pună mintea la încercare. Savantul Feder a adus N piese dreptunghiulare pe care sunt scrise numere naturale și le-a așezat pe masă în ordinea crescătoare a valorilor scrise pe ele, pe poziții consecutive, una lângă cealaltă. Apoi îi dă lui Radu, una câte una, alte M piese dreptunghiulare, pe care sunt scrise numere naturale, într-o ordine oarecare. Când Radu primește o piesă el trebuie să o așeze în șirul de pe masă pe cea mai mică poziție posibilă, astfel încât piesele din șir să rămână în ordine crescătoare. Evident, șirul de pe masă se modifică pe măsură ce Radu așază piesele în șir. Cunoscând șirul pieselor de pe masă, în ordinea în care sunt așezate, precum și cele M piese pe care le primește succesiv Radu, scrieți un program care să afișeze pentru fiecare dintre cele M piese poziția pe care aceasta este așezată în șir.

Costel deține un șir p de n pietricele prețioase numerotate de la 1 la n. Deoarece Costel este un om superstițios, el colecționează pietricele doar de anumite tipuri. Tipul unei pietricele este reprezentat de o literă mică a alfabetului englez, iar fiecare tip în parte are o anumită valoare. Într-o zi, Costel s-a decis să distribuie șirul de n pietricele pe k rafturi astfel încât fiecare raft să conțină câte o subsecvență nevidă de pietricele din șirul original, iar la final, fiecare pietricică să se afle pe exact un raft. Definim valoarea unui raft ca fiind suma valorilor pietricelelor de pe acel raft. Fiind dat șirul de n pietricele, să se distribuie pietricelele din șir în k subsecvențe disjuncte astfel încât:
1) Cea mai mare valoare a unui raft să fie maximă.
2) Cea mai mică valoare a unui raft să fie maximă.

Gimi a găsit un nou joc, faimos pentru dificultatea sa ridicată. Jocul este alcătuit din N camere, numerotate de la 1 la N. Fiecare cameră i conține un monstru a cărui putere este un număr natural P[i]. Gimi trece, în ordine, prin toate camerele. În fiecare cameră el poate alege să se lupte cu monstrul sau nu. Gimi se întreabă în câte moduri poate să aleagă 3 monștri cu care să se lupte. Două mulțimi de trei monștri se consideră diferite dacă există cel puțin un monstru în prima mulțime care nu aparține celei de-a doua mulțimi. Formal, se cere numărul de tripleți i < j < k pentru care P[i] < P[j] < P[k] și P[i] + P[j] + P[k] ≤ S.

Macarie

#4604

Macarie a primit o nouă temă la informatică, având următorul enunț: Se consideră un șir de numere naturale nenule, A cu N elemente. Fie șirul crescător D format din toți divizorii naturali, nu neapărat distincți, ai elementelor din A. De exemplu, pentru N = 4 și A = (6,2,3,2), avem șirul D = (1,1,1,1,2,2,2,3,3,6). Cunoscându-se un șir Poz format din Q numere naturale nenule, reprezentând poziții din șirul D să se determine, pentru fiecare dintre acestea, elementul corespunzător din șirul D.

Marian are un pachet cu n bețișoare, fiecare bețișor i având lungimea a[i] cm. Bețișoarele au o proprietate special: bețișorul cu numărul i se poate conecta de bețișorul i+1, unde i este mai mic decât n. Spre exemplu, într-un pachet cu 10 bețișoare, primul se poate conecta la al doilea, al doilea la al treilea, și așa mai departe. În momentul unei conectări, lungimea bețișorului devine suma lungimilor celor două bețișoare care l-au compus. Marian repetă acest procedeu până când are exact k bețișoare.

Să se determine cea mai mare lungime L posibilă, astfel încât toate cele k bețișoare obținute să aibă lungimea mai mare sau egală cu L.

Concursul Interjudeţean de Matematică şi Informatică Sever Aurel Groze, 2024

Livada4

#4675

Fermierul Petrică are o livadă cu n pomi fructiferi, pentru fiecare cunoscându-se coordonatele, în sistemul cartezian de coordonate xOy. Da, Petrică are și vădite calități de matematician!

Pentru a culege fructe, Petrică închiriază o mașină foarte performantă (și scumpă) cu care trece prin livadă o singură dată pe o direcție paralelă cu axa Oy. Mașina are o lățime cunoscută L și culege fructele din toți pomii pe care îi întâlnește.

Determinați numărul maxim de pomi din care pot fi culese fructele la o trecere a mașinii prin livadă.

Concursul Interjudeţean de Matematică şi Informatică Sever Aurel Groze, 2024

FMBSorted C++

#3621

Scrieți definiția completă subprogramului C++ FMBSorted care are doi parametri:

  • a – o matrice pătratică având cel mult 2000 de linii și 2000 de coloane
  • n – numărul de linii și coloane ale matricei

Matricea a memorează numai valori 0 și 1 și are proprietatea că elementele de pe fiecare linie sunt sortate, adică valorile de 0 apar la începutul fiecărei liniei, iar valorile 0 la finalul fiecărei linii. Este posibil ca o linie să conțină doar valoari de 0 sau să conțină doar valori de 1.

Subprogramul FMBSorted va returna numărul maxim de valori de 1 care se găsesc pe o linie.

Du-te sus!