Lista de probleme 726

Filtrare

Dificultate

Operații intrare/ieșire


Etichete

#3412 IIF C++

Redefiniți instruțiunea condițională if, printr-o secvență de directive #define.

#3398 kps

Un cuvânt se numește k-ps dacă prefixul său de lungime k este identic cu sufixul de lungime k, iar k este cea mai mare valoare strict mai mică decât lungimea cuvântului, cu această proprietate. Dacă nu există nicio astfel de valoare k nenulă, spunem despre cuvânt că este 0-ps. De exemplu, amalgam este 2-ps, iar amestec este 0-ps.

Rezolvați următoarele cerințe:

1) Se dă un cuvânt. Determinați k asfel încât cuvântul să fie k-ps.
2) Se dă un șir de caractere în care cuvintele sunt alcătuite din litere mici ale alfabetului englez și sunt separate prin spații. Să se afișeze în ordine cuvintele 0-ps, 1-ps, 2-ps, 3-ps, etc, până la cel mai mare k pentru care există în șir cel puțin un cuvânt k-ps. Pentru fiecare categorie, cuvintele vor fi afișate în ordine alfabetică.

#3380 Castel2

Se consideră un castel de formă dreptunghiulară, alcătuit din n*m camere dispuse pe n linii și m coloane. Intrarea în castel este în camera de coordonate (1,1), ieșirea în camera de coordonate n,m, unele camere sunt închise, dintr-o cameră se poate trece în camerele învecinate pe linie și pe coloană, iar unele camere sunt ocupate de zmei gripați, fiecare zmeu afectând camera sa și camere aflate în jurul său la distanța mai mică sau egală cu k.

Pentru a câștiga inima Ilenei Cosânzeana, Făt-Frumos trebuie să traverseze castelul. Deoarece nu se pricepe la informatică vă roagă pe voi să determinați care este lungimea minimă a unui traseu care traversează castelul, trece doar prin camere deschise și nu trece prin camere afectate de zmei.

În parcul orașului există trei rânduri de câte n copaci perfect aliniați. Rândurile sunt notate A, B, C, iar copacii de pe fiecare rând sunt numerotați de la 1 la n, ca în imaginea de mai jos:

O veveriță jucăușă sare prin copaci astfel:

  • pornește dintr-un copac numerotat cu 1;
  • la fiecare pas sare dintr-un copac numerotat cu i într-un copac numerotat cu i+1. Dacă se află într-un copac de pe rândul A sau de pe rândul C, va sări în copacul de pe rândul B, iar dacă se află în copacul de pe răndul B, va sări în copacul de pe rândul A sau în copacul de pe rândul C;
  • se oprește într-unul dintre copacii numerotați cu n.

Aflați numărul M de modalități în care se poate deplasa veverița, respectând regulile de mai sus. Dacă n este mai mic sau egal cu 1000, atunci veți afișa chiar numărul M, iar dacă n este mai mare decât 1000, veți afișa restul împărțirii lui M la 666013.

#3404 castel3

Înspăimântătorii tăi luptători au răpit-o pe Prinţesa Ghiocela şi au închis-o în castelul tău de pe vârful Muntelui Pleşuv. Deoarece eşti un geniu malefic, te-ai hotărât să îi oferi prinţesei iluzia unei şanse de evadare.
Castelul tău are forma unui caroiaj cu M linii şi N coloane. Cele M x N celule ale castelului sunt numerotate de la 1 la M x N în ordinea parcurgerii caroiajului pe linii de sus în jos, iar pe aceeaşi linie în ordinea coloanelor de la stânga la dreapta. În fiecare dintre celulele castelului ai pus câte o cheie, mai precis celula i conţine cheia cu numărul i. Evident, pentru a intra într-o cameră, prinţesa are nevoie de o anume cheie care permite deschiderea acesteia. Mai mult, dintr-o cameră prinţesa se poate deplasa într-un moment numai într-una dintre cele maximum patru camere adiacente pe orizontală şi verticală, doar dacă deţine cheia necesară deschiderii sale. Odată ce a intrat într-o cameră şi a obţinut o cheie, prinţesa o păstrează şi poate să o utilizeze ori de câte ori doreşte. Deşi eşti convins că prinţesa nu va scăpa din castel, eşti curios să afli câte dintre cele M x N camere îi sunt accesibile. Date fiind dimensiunile castelului, camera în care se află iniţial prinţesa şi cheile necesare deschiderii fiecăreia dintre camere, află răspunsul la această întrebare presantă.

ONI 2007, clasa a X-a

#3392 magazin

Se cere să se determine numărul minim de litere (lungimea celui mai scurt prefix) de care are nevoie fiecare dintre prieteni pentru a-și construi numele.

Alice a devenit interesată de numere întregi periodice.
Spunem că un număr întreg pozitiv X e periodic cu lungimea L dacă există un întreg pozitiv P cu L cifre astfel incat X poate fi scrie ca PPPP...P.

De exemplu: Numărul X=123123123 e periodic cu lungimile L=3 (P=123) și L=9 (P=123123123). Numărul X=42424242 e periodic cu lungimile L=2, L=4 și L=8. Numărul X=123445 e periodic cu lungimea L=5.

Cerința

Pentru o perioadă dată de lungime L și un număr întreg pozitiv A, Alice vrea să găsească un număr X strict mai mare ca A astfel încât X sa fie periodic cu lungimea L.

Am o prietenă educatoare. Anul acesta are grupa mică și trebuie să organizeze serbarea de Crăciun. Ea s-a gândit să așeze copiii sub forma unui brad (cam așa ∆). Va împărți copiii în trei categorii: prima categorie va fi formată din primii X cei mai scunzi copii, a doua categorie este formată din copiii cu înălțimea maximă și restul Y de copii în a treia categorie. Copiii din prima categorie vor fi așezați în ordinea crescătoare a înălțimilor, iar cei din a treia categorie în ordinea descrescătoare a înălțimilor. Prietena mea vrea ca toți copiii cu aceeași înălțime să stea unul lângă altul, iar dacă numărul de copii din prima categorie nu poate fi egal cu cel din a treia, vrea ca prima categorie să fie mai numeroasă (X ≥ Y). Prietena mea știe N, numărul de elevi din grupă, prenumele copiilor și înălțimea lor în centimetri. Ea încearcă de câteva zile să îi așeze. Oare cum ar rezolva un elev olimpic la informatică această problemă? Scrieţi un program care să determine:
1. Numărul maxim de copii cu aceeași înălțime.
2. O posibilă distribuire a înălțimilor sub forma unui brad.
3. Lista cu prenumele copiilor conform distribuirii înălțimilor determinată anterior.

Olimpiada Municipala de Informatica, Iasi, 2020

Se dă un şir de caractere S format din litere mari şi mici ale alfabetului englez, spaţii şi caracterul ce are codul ASCII 127. Fiecare caracter al lui S se codifică printr-o succesiune de 1 şi 0 ce reprezintă codul ASCII al caracterului în baza 2. Codul începe cu cifra 1, astfel pentru caracterul A codificarea este 1000001. Un cuvânt poate fi format din litere şi caracterul . Se consideră matricea M formată din cuvintele șirului S codificate şi memorate pe câte o linie în ordinea în care se găsesc acestea în propoziție. Scrieţi un program care, cunoscând S şi K, rezolvă următoarele două cerinţe:
1. determină L, latura celui mai mare pătrat din matricea M ce conține doar valori de 1;
2. determină NR, câte pătrate de latura K cu toate elementele egale cu 1 există în matricea M.

Olimpiada Municipala de Informatica, Iasi, 2020

Vasilică vizitează cetățile medievale. Fiind curios, el încearcă să descopere pasajele secrete și ascunzătorile. Din nefericire, s-a rătăcit și a ajuns într-o sală din care nu poate ieși decât trecând printr-un labirint. Există o hartă a labirintului, o matrice de n linii și m coloane, un element din această matrice reprezentând o cameră. Deplasarea în labirint se poate face numai prin camerele adiacente pe orizontală și verticală. Intrările în labirint sunt notate cu A, ieșirile cu C, iar camerele zidite (inaccesibile) cu Z. Ieșirea din labirint se poate face din una din camerele C, în fiecare astfel de cameră existând câte un elicopter încuiat. Toate elicopterele se deschid cu aceeași cheie, câte un exemplar al cheii aflându-se în camerele B. Trecerea în altă cameră va dura 1 unitate de timp. Pentru a ieși din labirint Vasilică intră pe una din intrările notate cu A, ia cheia dintr-o cameră B și iese din labirint printr-o cameră C. El va intra în camera A la timpul 1. Camerele de tip A pot fi situate oriunde pe hartă. În drumul de la o cameră de tip A către o cameră de tip B se poate trece printr-o cameră de tip C fără a se ieși din labirint. Ajutați-l pe Vasilică să iasă cât mai repede din labirint.

Olimpiada Municipala de Informatica, Iasi, 2020