Lista de probleme 711

Filtrare

Dificultate

Operații intrare/ieșire


Etichete

#2164 munte1

Maria pleacă în excursie la munte. Traseul de la baza muntelui și până la vârf trece printr-o serie de parcele organizate într-o matrice pătratică de dimensiune nxn. Baza muntelui se consideră primul element al matricei, iar vârful, ultimul element. Se cunoaște faptul că traseele de la bază până la vârf au numai suișuri. Maria dispune de un altimetru prin intermediul căruia poate determina altitudinea la care se găsește parcela pe care se află. Ea nu-și propune să urce până la vârf, ci doar până la o anumită altitudine. Cunoscând valoarea n, harta de dimensiune nxn cu altitudinile precizate și x o valoare ce reprezintă altitudinea la care trebuie să ajungă Maria, se cere să se determine coordonatele parcelei cu altitudinea x.

Corina are un text format din mai multe cuvinte separate între ele printr-un spațiu, pentru care trebuie să utilizeze cuvintele aflate pe poziţii consecutive. Se știe că pentru două cuvinte pe care le vom numi x și y:

  • cuvântul x=x[0]x[1]...x[n-1] este prefix al cuvântului y=y[0]y[1]...y[m-1], dacă x[0]=y[0], x[1]= y[1],…, x[n-1]=y[n-1]
  • cuvântul x=x[0]x[1]...x[n-1] este sufix al cuvântului y=y[0]y[1]...y[m-1], dacă există un indice i, (0≤ i≤ m-1), astfel încât x[0]=y[i], x[1]= y[i+1],…, x[n-1]= y[m-1].

Scrieţi un program care determină pentru un text dat, format din mai multe cuvinte separate între ele printr-un spațiu, două cerințe:

  • cerința 1: câte perechi de cuvinte, notate x și y, aflate pe poziții consecutive în text au proprietatea: x este sufix al lui y sau x este prefix al lui y.
  • cerința 2 : care este perechea de cuvinte, aflate pe poziții consecutive în text, care conține cele mai multe caractere.

Urmasii lui Moisil, gimnaziu, 2017

Fie secvența S(x) care se construiește astfel:

  • S(1) = x
  • S(n + 1) = S(n) XOR [S(n) / 2], unde [x] se definește ca parte întreagă din x, iar XOR este operația clasică „sau exclusiv”.

Dându-se un număr natural k, aflați numărul de numere naturale x pentru care S(k + 1) = S(1) = x este adevărat. Deoarece numărul poate fi foarte mare, afișați rezultatul modulo 1000000007.

Clasele IX-X echipaje, Info Oltenia 2017

#1966 match

Tanărul Pagnad proaspăt ajuns la facultate, vrea să prindă și el ceva. Fiind nemulțumit de celebra aplicație Tinder acesta dorește să-și creeze propria lui aplicație. Aplicația se folosește de datele strânse de pe diferite rețele de socializare ale utilizatorului și le codează într-o matrice. Stați calmi, nu trebuie sa creați voi matricea, dar pentru a-și studia compatibilitatea cu o persoana Pagnad se folosește de următoarele noțiuni.

Acesta definește o structură de dimensiune k o submatrice pătratică de latura k. Compatibilitatea se stabilește în funcție de câte perechi de două structuri, nu neapărat de aceleași dimensiuni, dar de sumă egală se găsesc în două matrici (prima structură trebuie să aparțină primei matrici, a doua celei de-a doua matrici).

Definim o structură prin coordonatele colțului stânga sus (x,y) și dimensiunea laturii acesteia k. Două perechi x1, y1, k1 și x2, y2, k2 sunt diferite daca: x1≠x2 sau k1≠k2 sau daca x1=x2 si k1=k2 si y1≠y2 sau x1=x2, y1=y2 si k1≠k2 (acestea fac referință pentru submatrice din aceeași matrice).

Cerința

Se cere să se afle compatibilitatea între cele două matrice.

Info Oltenia 2017, Clase IX-X, echipaje

IceManLucky joacă League of Legends când dintr-o dată calculatorul i se blochează şi pe ecran îi apare bine cunoscutul blue screen. Pe ecran el vede acum 2N numere reale : a1 , a2 , …, a2n. Având un calculator mai special, IceManLucky ştie că există o singură soluţie ca să remedieze problema. El efectuează N operaţii consecutiv, o operaţie constând în :

- alege 2 indecşi i şi j (i ≠ j), pe care nu i-a mai ales anterior
- rotunjeşte ai la cel mai apropriat număr întreg care nu este mai mare ca ai
- rotunjeşte aj la cel mai apropriat număr întreg care nu este mai mic ca aj

Scopul lui IceManLucky este ca diferenţa absolută dintre suma numerelor apărute iniţial pe ecran şi suma numerelor după efectuarea celor N operaţii descrise mai sus să fie minimă.

#2054 Joc7

Inspiraţi de clasicul joc Tic-Tac-Toe (X şi 0), Teodora şi Ştefan îşi propun să joace ceva asemănător, adăugând jocului clasic câteva reguli noi:

  • tabla de joc este un pătrat de latură N, care este împărţit în N*N celule, aşezate pe N linii şi N coloane; celulele pătratului sunt numerotate de la 1 la N2 parcurgând liniile de sus în jos, și coloanele de la stânga la dreapta;
  • Teodora va marca celulele cu X (litera X), iar Ştefan cu 0 (cifra 0);
  • în cadrul unei runde, copiii marchează alternativ câte o celulă din pătrat, nemarcată anterior;
  • o rundă a jocului este descrisă printr-un șir format din exact N2 numere naturale reprezentând celulele pătratului, în ordinea în care au fost marcate succesiv de cei doi copii;
  • jocul are K runde; prima este începută de Teodora, a doua de Ştefan, a treia Teodora, a patra Ştefan şi aşa mai departe;
  • o rundă este câştigată de jucătorul care reuşeşte primul să marcheze complet o linie, o coloană, diagonala principală sau una din cele două semidiagonale paralele şi alăturate cu aceasta, diagonala secundară sau una din cele două semidiagonale paralele şi alăturate acesteia;
  • o rundă se încheie fără un câştigător dacă după marcarea celor N2 celule nu există pe tabla de joc nicio linie, coloană, diagonală sau semidiagonală marcate cu acelaşi simbol.

Cunoscând numerele N, K şi cele K şiruri de numere care reprezintă rundele jucate, scrieţi un program care să rezolve una dintre următoarele două cerinţe:

  1. Să se determine câte runde a câştigat fiecare copil.
  2. Să se determine care este cel mai mare număr de marcări efectuate până la câştigarea unei runde.

#2000 Sir9

Corneluș a învățat să numere. El pornește întotdeauna de la 1, numără din 1 în 1, nu greșește niciodată numărul următor, însă ezită uneori și atunci spune numărul curent de mai multe ori. Sora lui, Corina, îl urmărește și face tot felul de calcule asupra modurilor în care numără fratele ei. Astfel, ea urmărește până la cât numără (U), câte numere spune în total (N) și, pentru a aprecia cât de ezitant este, numărul maxim de repetări (R) ale unei valori. De exemplu, el poate număra până la 8 astfel: 1 2 3 3 4 5 6 7 7 7 7 8 8. În acest caz, numără până la 8 (U=8), spune 13 numere (N=13) și ezită cel mai mult la 7, spunându‑l de 4 ori (R=4).

Cerințe

1) Cunoscând numărul total de numere N și ultimul număr spus U, trebuie să calculați câte șiruri diferite au exact N numere și se termină cu numărul U.
2) Cunoscând numărul total de numere N și numărul maxim de repetări R ale unei valori, trebuie să calculați câte șiruri diferite au exact N numere și fiecare valoare se repetă de cel mult R ori.
Deoarece numărul de șiruri poate fi foarte mare, calculați restul împărțirii acestui număr la 20173333.

#1998 Rover

NASA plănuiește o nouă misiune Rover pe Marte în anul 2020. Principalul obiectiv al acestei misiuni este de a determina, cu ajutorul unui nou Rover, dacă a existat în trecut viață pe Marte. Până când va fi lansată misiunea, Roverul este supus la tot felul de teste în laboratoarele NASA. Într-unul din teste, Roverul trebuie să parcurgă o suprafață de forma unui caroiaj cu N linii și N coloane. Acesta pornește din zona de coordonate (1,1) și trebuie să ajungă în zona de coordonate (N,N), la fiecare pas putându-se deplasa din zona în care se află într-una din zonele învecinate la nord, sud, est sau vest. Pentru fiecare zonă de coordonate (i,j) se cunoaște A[i,j], stabilitatea terenului din acea zonă. Știind că Roverul are o greutate G, o zonă cu stabilitatea terenului cel puțin egală cu G se consideră o zonă sigură pentru deplasarea Roverului, iar o zonă cu stabilitatea terenului mai mică decât G se consideră o zonă periculoasă pentru Rover.

1. Determinați numărul minim posibil de zone periculoase pe care le traversează Roverul pentru a ajunge din zona (1,1) în zona (N,N).
2. Determinați greutatea maximă pe care o poate avea un Rover care să ajungă din zona (1,1) în zona (N,N), fără a traversa nicio zonă periculoasă pentru el.

#1999 Caps

Miruna a descoperit un nou joc. Ea dispune de litere mari și mici ale alfabetului englez și construiește succesiv șiruri de litere din ce în ce mai lungi. Ea definește operația CAPS a unei litere, ca fiind transformarea literei respective din literă mare în literă mică sau invers, din litera mică în literă mare. Pentru fiecare șir S, Miruna asociază un nou șir Sc, numit șir CAPS, care se obține aplicând operația CAPS asupra tuturor literelor din șirul S. Miruna a inventat o altă operație pentru un șir de litere S, numită NEXT, prin care obține un nou șir SN care are structura SScScS (este format în ordine de la stânga la dreapta din literele lui S, apoi de două ori succesiv literele șirului Sc, iar apoi urmează din nou literele șirului S). De exemplu, șirului S="Ham" îi corespunde șirul CAPS Sc="hAM" și dacă se aplică și operația NEXT asupra șirului S, obține șirul Sn="HamhAMhAMHam". Inițial, Miruna construiește un șir S de K litere. Apoi, ea construiește un nou șir obținut prin aplicarea operației NEXT asupra șirului S. Miruna dorește să obțină succesiv șiruri de litere din ce în ce mai lungi aplicând operația NEXT asupra șirului construit în etapa precedentă.

Astfel, pentru K=3 și S="Ham", Miruna va construi șirurile "HamhAMhAMHam", "HamhAMhAMHamhAMHamHamhAMhAMHamHamhAMHamhAMhAMHam" și așa mai departe. Miruna continuă procedeul de construire până când obține un șir final suficient de lung.

Miruna vă roagă să răspundeți la Q întrebări de tipul:

„Dacă se dă un număr natural N, ce literă este în șirul final pe poziția N și de câte ori a apărut această literă în șirul final, de la începutul șirului final până la poziția N inclusiv?”.

OJI 2017, Clasa a X-a

Arpsod vă roagă să faceți un program care, pentru un număr N cunoscut de trageri și poziția fiecărei săgeți pe țintă, determină distanța maximă dintre două săgeți.