Lista de probleme 1108

Filtrare

Dificultate

Operații intrare/ieșire

#2371 Biliard

Avem la dispoziție o masa de biliard dreptunghiulara. O bila pornește din colțul stânga jos al dreptunghiului sub un unghi de 45 grade față de latura de jos a dreptunghiului și lovește latura de sus sau latura din dreapta. Aici ricoșează (pornește spre o altă latură tot sub un unghi de 45 grade față de latura de care s-a lovit). Își continuă drumul până când ajunge într-un colț al dreptunghiului.

Scrieți un program care calculează de câte ori (nrSchimb) mingea își schimbă direcția de mers până când se oprește într-un colț. Punctul de pornire nu se numără.

#2383 plaja1

Primăria orașului Constanța reamenajează plaja din stațiunea Mamaia. Aceasta este reprezentată ca o zonă dreptunghiulară cu lățimea de a unități și lungimea de b unități. Pe plajă sunt trasate linii paralele cu laturile dreptunghiului astfel încât să formeze pătrate cu latura de o unitate, numite zone. Pe plajă se vor pune obiecte: umbrele și prosoape. Se consideră că dacă un obiect intră în interiorul unei zone, o ocupă în întregime. Se poziționează u umbrele de soare. Într-o zonă se poate așeza cel mult o umbrelă.

N turişti vin şi îşi aşează prosoapele pe plajă. Un prosop are formă dreptunghiulară şi va fi aşezat paralel cu laturile dreptunghiului. Turiştii îşi pot aşeza prosoapele pe zone libere sau peste prosoape deja aşezate. Un turist nu îşi poate aşeza însă prosopul pe plajă dacă suprafaţa acoperită de acesta include cel puţin o zonă în care se află o umbrelă.
M localnici au suprafeţe favorite pentru aşezarea prosoapelor. O suprafaţă favorită are forma unui dreptunghi cu laturile paralele cu laturile dreptunghiului care marchează plaja. După ce turiştii termină aşezarea prosoapelor, localnicii verifică dacă zonele din suprafaţa favorită sunt libere (neacoperite de prosoape aşezate de turişti sau de umbrele).

Scrieţi un program care să determine numărul de turişti care au reuşit să îşi aşeze prosoapele pe plajă, precum și numărul de localnici ale căror zone favorite sunt libere.

Fișierul palindromsd.in conține cel mult 1000 de numere naturale, câte un număr pe fiecare linie. Să se afișeze numerele palindrom din fișier în ordinea primul, ultimul, al doilea, penultimul etc.

Se dă un sir de numere naturale nenule.

Să se afișeze în ordine strict crescătoare toate numerele din șirul dat care au număr maxim de divizori.

Se dă un şir de numere naturale nenule. Să se afle numărul secvenţelor din şir care au produsul elementelor egal cu 2k, unde k este un număr dat.

Un grup de copii participă la un Bal Mascat. Participanții nu pot să-și aleagă singuri costumul. Organizatorii au pregătit exact atâtea costume câți copii sunt. Au ambalat costumele în cutii numerotate și le-au așezat într-o cameră. Copiii intră în camera cu costume și își aleg câte o cutie (la întâmplare). Fiind puși pe glume, organizatorii au scos încălțămintea din anumite cutii, după regula: cutia cu numărul p ramâne fără încălțări, apoi cutia cu numărul 2*p, apoi cutia cu numărul 3*p și așa mai departe până la terminarea cutiilor. Dacă ultima cutie a rămas cu tot costumul, atunci organizatorii scot încălțămintea și din ea. După ce primesc cutiile cu costume, copiii constată că nu se pot deschide decât cu ajutorul unui cod (același la toate cutiile). Organizatorii le dau indicii despre cum să afle codul: se calculează numărul de cutii care au rămas fără încălțăminte, se află ultima cifră din acest număr (notată cu c). Apoi se formează un cod intermediar cu exact 2*p cifre, astfel: dacă c are o valoare diferită de 9, atunci prima cifră (pornind de la stânga numărului) are valoarea (c+1). Dacă c are valoarea 9 atunci prima cifră este (c-1). A doua cifră are valoarea c. A treia cifră este egală cu prima, cifra a patra urmând să fie egală cu a doua și tot așa până se află toate cele 2*p cifre. La final, se taie ultima cifră și ajungem la codul corect cu care se deschid cutiile.
Scrieţi un program care să îi ajute pe copii să afle codul cu care se deschid cutiile.

Olimpiada Municipala de Informatica, Iasi, 2018

#2363 joc8

Elena și Maria au primit cadou un joc. Dintr-o cutie ce conține mai multe numere, fiecare extrage pe rand câte un număr și trebuie să descopere anumite condiții îndeplinite de aceste numere. Ele vor să determine câte numere alternante au fost extrase. Un număr este alternant dacă are număr impar de cifre și dacă orice cifră a numărului, cu excepția primei și a ultimei cifre se învecinează fie cu două cifre mai mari decât ea, fie cu două cifre mai mici decât ea. Cunoscând numărul n de numere, precum şi cele n numere naturale extrase din cutie determinați câte dintre acestea au fost alternante.

Olimpiada Municipala de Informatica, Iasi, 2018

#2359 cifre13

Pe o foaie de matematică cu N x M pătrăţele, Maria desenează C cifre. Fiecare cifră este desenată într-o zonă formată din 7 x 4 pătrăţele albe şi negre denumite pixeli, aşa cum este ilustrat mai jos :

Fiecare pixel ocupă exact un pătrăţel pe foaia de matematică. Evident, pe foaie Maria va desena doar pixelii negri. Determinaţi numărul de pătrăţele negre de pe foaia de matematică după ce au fost desenate cele C cifre.

Olimpiada Municipala de Informatica, Iasi, 2018

#2358 castig

Ana şi Bogdan au participat la un concurs şi au obţinut premiul I, respectiv premiul al II-lea. La concurs există n premii, numerotate de la 1 la n, în ordinea în care sunt aşezate pe masă. Regulamentul concursului prevede că fiecare câştigător trebuie să aleagă exact k premii aşezate pe poziţii consecutive. Fiindcă Ana are premiul I, ea poate să îşi aleagă prima premiile. Apoi Bogdan va alege şi el k premii aşezate pe poziţii consecutive dintre cele rămase după ce a ales Ana. Ana este foarte supărată pe Bogdan, aşa că ea urmăreşte ca Bogdan să câştige cât mai puţin, fără să o intereseze prea mult ce premii alege ea.

Scrieţi un program care, cunoscând n, k şi valorile celor n premii, determină cel mai mic număr valmin, astfel încât Bogdan să nu poate selecta k premii aşezate pe poziţii consecutive cu o valoare totală mai mare decât valmin.

Olimpiada Municipala de Informatica, Iasi, 2018

#2357 escape

Pentru că toți elevii clasei a VI-a s-au hotărât să meargă la EscapeRoom, diriginta a repartizat fiecărui elev un număr. Fiind mulți elevi, ei vor intra în două serii astfel: dacă numărul primit este prim, atunci elevul intră în seria 1, altfel elevul intră în seria 2. Numărul camerei în care intră elevul este cifra de control obținută din numărul primit de fiecare elev în parte (cifra de control a unui număr se obține efectuând suma cifrelor sale, apoi suma cifrelor acestei sume și așa mai departe, până când se obține un număr formată dintr-o singură cifră). În funcție de timpul de evadare, elevul are un punctaj reprezentat de un număr cu exact două cifre. La numărul primit, elevul lipește punctajul obținut și formează un cod pe care la sfârșitul activității îl transmite doamnei diriginte.
Exemplu: elevul primește numărul 191; numărul este prim, deci elevul va intra în seria 1, iar numărul camerei este 2 (1 + 9 + 1 = 11, 1 + 1 = 2 ); punctajul obținut de elev este 60, deci codul elevului este 19160.
Fiind dat numărul natural n, reprezentând numărul de elevi și cele n coduri primite de doamna dirigintă, să se determine:
(1) Punctajul maxim obținut de o cameră în prima serie și punctajul maxim obținut de o cameră în a doua serie (punctajul camerei este egal cu suma punctajelor elevilor care au fost în camera respectivă în aceeași serie).
(2) Indicii camerelor vizitate, în ordinea descrescătoare a numărului de elevi care le-au vizitat, din ambele serii, la un loc.

Olimpiada Municipala de Informatica, Iasi, 2018