Lista de probleme 972

Filtrare

#4345 braduti

Robotul Vasile s-a angajat la fabrica decoraţiunilor de Crăciun unicat. El trebuie să monteze beculeţe colorate în brăduţi, astfel încât oricare doi brăduţi să fie diferiţi. Pe o bandă de asamblare robotul Vasile are la dispoziţie N beculeţe colorate b1, b2, …, bN, astfel încât oricare două beculeţe sunt colorate diferit. În vârful bradului va pune o steluţă, iar pentru montarea beculeţelor în brăduţ el construieşte lanţuri de becuri. Cunoscând numărul N de beculeţe aflate pe banda de asamblare, scrieţi un program care să rezolve următoarele două cerinţe:
1. determină înălţimea bradului (numărul de lanţuri ce pot fi construite cu cele N beculeţe);
2. determină numărul de brazi diferiţi ce pot fi construiţi cu cele N beculeţe.

Olimpiada Municipală de Informatică, Iași, 2023

#4341 tablou2

Cunoscând N, M numărul de linii respectiv numărul de coloane din matrice și elementele matricei care reprezintă afișul, scrieţi un program care să rezolve următoarele cerinţe:
1. Determină aria minimă a unui tablou care conține obiectul de suprafață maximă care poate fi încadrat într-un tablou;
2. Determină numărul maxim de tablouri care pot fi decupate știind că elevii caută începând de sus în jos și de la stânga la dreapta obiectele care pot fi încadrate într-un tablou și decupează tabloul.

Olimpiada Municipală de Informatică, Iași, 2023

#4340 hotel

Un hotel pentru carantină COVID are k camere. În fiecare cameră poate sta la un moment dat un singur pacient. Hotelul este utilizat o perioadă de z zile dintr-un an. Perioada de carantină pentru fiecare pacient este exact m zile din perioada z. DSP a trimis conducerii hotelului o solicitare de cazare pentru n pacienți. Pentru fiecare pacient este precizată prima zi din perioadă începând cu care va trebui să fie cazat – perioada z începe cu ziua 1.
1. DSP solicită determinarea numărului maxim de pacienți care vor putea fi primiţi în hotel conform solicitării trimise.
2. DSP solicită o listă cu numerele de ordine a pacienților din lista trimisă, care vor putea fi cazați.
3. Care este cea mai lungă secvență de pacienți din lista trimisă de DSP care nu au putut fi cazați. Afișați lungimea secvenței, precum și numărul de ordine al primului pacient al secvenței.

Olimpiada Municipală de Informatică, Iași, 2023

Se dă un șir de n numere întregi a = (a[1], a[2], ..., a[n]). Trebuie să construiți un nou vector b de lungime n în care valorile sunt cuprinse între 1 și n astfel: toate elementele a[i] care memorează valoarea minimă se înlocuiesc în b[i] cu 1, toate elementele a[j] imediat mai mari decât minimele se înlocuiesc în b[j] cu 2, ș.a.m.d.

Se consideră o matrice cu elemente 0 sau 1, cu L linii (numerotate de la 1 la L) şi C coloane (numerotate de la 1 la C).
Definim o zonă dreptunghiulară ca fiind o submatrice ce are pe contur numai valori 1 şi cu proprietatea că nu există valori de 1 nesituate pe contur şi în acelaşi timp la distanţa 1 faţă de un punct de pe contur. Două puncte sunt la distanţa 1 dacă şi numai dacă sunt vecine pe una dintre cele 8 direcţii.
Să se determine numărul total de zone dreptunghiulare din matrice, ordinul maxim al unei zone şi numărul de zone care au acest ordin maxim.

#4302 status

Por Costel vrea să posteze un mesaj pe Facebook pentru fanii lui. Acest mesaj constă într-un șir continuu de caractere de la ‘a’ la ‘z’. Fiind un porc și neavând o coordonare bună ochi-copite, tastează uneori un alt caracter decât cel dorit. În acest caz, el vrea să-l steargă. Por Costel nu știe, însă, să folosească tasta Backspace, așa că atunci când vrea să șteargă un caracter, tasteaza încă o data acel caracter. Problema e că și de data aceasta Por Costel riscă să tiparească un caracter greșit, pe care va vrea sa îl “șteargă” cu aceeași metodă. Doar o dată ce a reușit să “șteargă” toate caracterele pe care le-a greșit, va continua el să tasteze următorul caracter din mesaj. Din fericire, a reușit să termine de scris mesajul într-un timp finit și vrea să-l posteze.

Por Costel e increzător că fanii săi (Por Comunitatea) îi vor întelege mesajul. Totuși, tu ai vrea să nu existe dubii. Dându-se șirul final tiparit de Por Costel se cere reconstituirea mesajului pe care vroia să îl transmita, știind că nu existau în mesajul inițial două caractere consecutive identice.

Selecție pe școală, C.N. "Frații Buzești" - 2015, clasa a X-a

#4285 Report

Se dă un șir a1, a2, …, an de numere întregi și m operații, fiecare operație fiind dată printr-o pereche de numere op și k: dacă op = 1 atunci primele k elemente din șir se ordonează crescător, iar dacă op = 2 atunci primele k elemente din șir se ordonează descrescător. Să se afișeze elementele șirului după efectuarea tuturor celor m operații.

#4268 FBaza C++

Scrieți funcția cu următorul antet:

int FBaza(const char s[])

Parametrul s memorează un șir de caractere. Funcția trebuie să returneze:

  • valoarea 2 dacă s este format numai din cifre binare
  • valoarea 4 dacă s este format numai din cifre mai mici decât 4
  • valoarea 8 dacă s este format numai din cifre mai mici decât 8
  • valoarea 10 dacă s este format numai din cifre zecimale
  • valoarea 16 dacă s este format numai din cifre zecimale și litere din mulțimea {A, B, C, D, E, F} sau {a, b, c, d, e, f}
  • valoarea -1 dacă s mai conține și alte caractere

#4270 FConcat C++

Să se scrie o funcție care concatenează un șir de caracterele cu un alt șir.

#4271 Intercalate C++

Scrieți funcția cu următorul antet:

void Intercalate(char a[], char b[], char c[])

Funcția primește ca parametri trei șiruri de caractere a, b și c. Inițial c este vid și se vor depune în el caracterele din a și b astfel: întâi primul caracter din a, apoi primul caracter din b, apoi al doilea caracter din a, al doilea din b și procedeul continuă până când fie se termină caracterele din a, fie caracterele din b, fie ambele. Dacă au mai rămas caractere nedepuse din a sau din b, acestea se adaugă la final în c.