Lista de probleme 208

Filtrare

#1489 Bile1

Algorel a primit un set de n bile numerotate de la 1 la n pe care trebuie să le pună în trei cutii identice astfel încât în nicio cutie să nu fie două bile numerotate cu numere consecutive.

În câte moduri poate face Algorel acest lucru?

Olimpiada locală de Informatică, Prahova, 2016

#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.

#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).

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ă.

#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.
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.

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.

#2193 100m

Proba de 100 metri plat este una dintre cele mai populare și prestigioase probe din cadrul oricărui concurs de atletism. Recordul modial al acestei probe este deținut în prezent de sportivul jamaican Usain Bolt cu timpul de 9.58 secunde.
Uneori lupta dintre sportivi este atât de strânsă încât diferențierea dintre atleți se poate face doar cu ajutorul camerelor de luat vederi ce surprind finish-ul atleților. Au existat cazuri când doi sau mai multi atleți au fost declarați la egalitate.

Considerând N atleți, ce participă la o cursă de 100 metri plat, identificați prin numerele 1, 2, …, N, să se scrie un program care determină numărul P al clasamentelor distincte care pot fi obținute după finalizarea cursei. De exemplu, pentru N = 2, se pot obține 3 clasamente distincte: (1,2), (2,1), (1=2); unde (1=2) reprezintă situația când ambii atleți s-au clasat la egalitate.

ONI 2017, clasa a X-a

#2146 doilan

Fie n un număr natural nenul.

Se construiește mulțimea M a tuturor numerelor formate din exact n cifre, numere formate doar cu cifrele 1 și 2.

Scrieți un program care citește numărul natural n și apoi determină cel mai mic număr natural x din mulțimea M cu proprietatea că x este divizibil cu 2n.

#2149 AN

Ana şi Bogdan au inventat încă un joc. Jocul are jetoane, albe şi negre, care iniţial se aşază într-un teanc, într-o ordine oarecare. Numim configuraţie succesiunea culorilor tuturor jetoanelor din teanc (în ordine, începând din vârful teancului). Un jeton alb va fi codificat prin litera A, iar un jeton negru prin litera N.

La o mutare un jucător poate lua din vârful teancului oricâte jetoane consecutive (dar cel puţin un jeton), cu condiţia ca toate jetoanele luate să aibă aceeaşi culoare. Jucătorii mută alternativ, prima la mutare fiind Ana. Jocul va fi câştigat de jucătorul care ia ultimul jeton.

Spunem că un jucător are strategie sigură de câştig dacă el, urmând această strategie, câştigă jocul, indiferent care sunt mutările celuilalt jucător.

Scrieţi un program care citeşte T configuraţii şi determină pentru fiecare dintre cele T configuraţii dacă Ana are strategie sigură de câştig.

#2151 SLang

SLang este o versiune a aplicației Scratch care pune la dispoziție șapte instrucțiuni de tip I1, I2, I3, I4, I5, I6, I7 prezentate în enunț.

Un program corect este o succesiune de instrucţiuni care respectă următoarele reguli:

1. Începe cu o instrucțiune de tip I1 şi se termină cu o instrucțiune de tip I7.
2. Între instrucţiunea de tip I1 şi instrucţiunea de tip I7 vor exista una, două sau mai multe instrucţiuni de tipurile I2, I3, I4, I5 sau I6, fără a utiliza două instrucţiuni de acelaşi tip; fiecare dintre aceste instrucţiuni poate să conţină alte instrucţiuni, conform cu regulile specificate.
3. Corpul unei instrucțiuni de tip I4 poate conține una sau două instrucțiuni de mișcare (adică de tip I2 sau I3) și nu poate conține instrucțiuni de alt tip.
4. Fiecare dintre cele două ramuri ale unei instrucțiuni de tip I5 (ramura daca şi ramura daca nu) poate conține una sau două instrucțiuni de tip I2 sau I3 și nu poate conține instrucțiuni de alt tip.
5. Corpul unei instrucțiuni de tip I6 poate conține una, două sau mai multe instrucţiuni de tipurile I2, I3, I4, I5 sau I6, fără a utiliza două instrucţiuni de acelaşi tip; similar, fiecare dintre aceste instrucţiuni poate să conţină alte instrucţiuni, conform cu regulile specificate.

Nivelul de imbricare al unui program corect va fi egal cu numărul de instrucţiuni de tip I6 existente în program.

Dat fiind numărul natural K, reprezentând nivelul de imbricare, scrieţi un program care să rezolve următoarele cerinţe:

  1. determină numărul de programe corecte distincte cu nivelul de imbricare K;
  2. determină numărul minim de instrucțiuni și respectiv numărul maxim de instrucțiuni ce pot exista într-un program corect cu nivel de imbricare K.