Lista de probleme 453

Filtrare

Dificultate

Operații intrare/ieșire

Se dau n șiruri de numere întregi ordonate crescător, de dimensiuni d[1], d[2], …, d[n]. Dacă se interclasează șirurile de dimensiuni d[i] și d[j] atunci se efectuează d[i]+d[j] operații și se obține un șir de dimensiuni d[i]+d[j]. Trebuie interclasate toate cele n șiruri. Pentru aceasta sunt necesari exact n - 1 pași. La fiecare pas se iau două șiruri, se interclasează și cele două șiruri se înlocuiesc cu noul șir. Scopul este să se obțină un singur șir ordonat efectuând un număr minim de operații. De exemplu, dacă n=4 și șirurile au dimensiunile 1, 5, 2 și 5, atunci se poate interclasa mai întâi 1 și 5, se fac 6 operații și rămân 3 șiruri de lungimi 6, 2, 5. Se interclasează apoi 2 cu 5 cu un cost 7 și rămân două șiruri: 6 și 7. Se interclasează aceasta două cu un cost de 13 și a rămas un singur șir. În total s-au efectuat 6 + 7 + 13 = 26 operații, dar acesta nu este numărul minim posibil. Să se determine numărul minim de operații necesare pentru a interclasa cele n șiruri.

#2629 h3

Tocmai ai primit cadou de ziua ta un șir de numere naturale a[1], a[2], …, a[n]. Ca să te simți împlinit, trebuie să determini lungimea maximă a unei secvențe cu proprietatea că oricare două valori din secvență sunt distincte. Determină lungimea maximă cerută și anul viitor vei mai primi un șir!

#2628 h2

În urma referendumului a rămas doar un șir de numere naturale a[1], a[2], …, a[n]. Să se determine cel mai mic număr care apare exact o dată în șir.

#2627 h1

Se dau două șiruri de numere naturale a[1], a[2], …, a[n] și b[1], b[2], …, b[m]. Să se determine câte numere distincte au în comun cele două șiruri. De exemplu, șirurile a=(2,5,1,4,5,1) și b=(1,1,1,3,7,5) au în comun două numere distincte: 1 și 5.

Fie o permutare de gradul n. Se cere să se calculeze perioada principală a funcției f(x) = x.

Toată lumea cunoaște modelul de deblocare a telefoanelor sub formă de o matrice cu 3 linii și 3 coloane. Se pot trasa diferite modele de deblocare având un număr N de puncte prin care trecem, din fiecare punct putând merge la oricare vecin al lui. (Sunt maximum 8 vecini de exemplu pentru punctul din mijloc și 3 vecini pentru un punct din colț).

Determinați câte variante de modele sunt posibile trecând prin N puncte. Deoarece numărul poate fi foarte mare, se va afișa numărul de variante modulo 1000003.

Balcaniada de Informatică 2018, ziua de antrenament

#2561 addchar

Se consideră un set de două șiruri de caractere X și Y. Șirul X este format din caractere din mulțimea {'A'..'Z', 'a' ..'z', '*'}, iar șirul Y este format din caractere din mulțimea {'A'..'Z', 'a'..'z'}. Lungimea șirului Y este mai mare sau egală cu numărul de caractere * din X. Caracterele * din șirul X vor fi înlocuite cu caractere din Y, evident fără a depăși numărul de apariții ale acestora. Fiind date N seturi de câte două șiruri fiecare, (X1, Y1), (X2, Y2), …, (XN, YN), să se determine lungimea celui mai lung subșir strict crescător ce se poate forma în Xi prin înlocuirea caracterelor * cu caractere din Yi, 1 ≤ i ≤ N.

Balcaniada de Informatică 2018, ziua de antrenament

#2559 train

O companie feroviară a lansat recent un nou prototip de tren, format dintr-un singur vagon cu N scaune. Scaunele sunt numerotate la 1 la N (numerotarea începe de la partea din față a trenului) și sunt aranjate într-o linie, unul în spatele altuia. Următoarele reguli urmează să fie respectate de fiecare pasager:

1. Pasagerii vor urca în tren doar pe ușa din spate, care este situată după toate scaunele. Odată urcați, pasagerii au dreptul să se deplaseze doar spre partea din față și pot părăsi trenul doar prin ușa din față (care este situată în fața tuturor scaunelor).
2. Fiecare pasager va ocupa locul situat imediat după ultimul scaun ocupat. Dacă trenul este absolut liber, pasagerul va ocupa scaunul din față (marcat ca locul 1).
3. Nici un pasager nu are dreptul să-și părăsească locul până la debarcare.
4. La fiecare stație, pasagerii care au ajuns la destinație părăsesc trenul. Dacă există pasageri pe scaune în fața celui care a ajuns la destinație, ei de asemenea vor părăsi trenul, chiar dacă încă nu au ajuns la destinația lor.
5. Odată ce a ieșit din tren, pasagerul nu mai are dreptul să urce înapoi.

Ruta trenului are M stații, numerotate de la 1 la M. Trenul se oprește în fiecare stație, începând cu stația 1 și terminând cu stația M. La toate cele M stații de tren se află în total N pasageri, numerotați de la 1 la N. Pentru fiecare pasager se cunoaște din timp prețul tichetului, stația de îmbarcare și stația de debarcare. Compania feroviară dorește să aibă doar clienți fericiți, care ajung la destinația lor. Pentru a avea doar clienți fericiți, compania a permis conductorului să selecteze pasagerii care se pot îmbarca, precum și ordinea în care li se permite îmbarcarea. Astfel, conductorul poate să decidă să nu permită unor pasageri să urce în tren. Determinați profitul maximal care poate fi obținut de companie având doar clienți fericiți, precum și o ordine de îmbarcare validă, care permite obținerea acestui profit.

Legendarul vrăjitor Merlin se distrează în laboratorul său. El are N poțiuni magice (etichetate cu 1, 2, …, N) aranjate pe o singură linie într-o ordine dată. El dorește să le aranjeze în ordine crescătoare. Se va muta o singură poțiune la un moment dat. Prima poțiune mutată va fi cea etichetată cu 1, apoi cea etichetată cu 2 și așa mai departe. Bineînțeles, pentru a rezolva problema, Merlin va apela la magie. Fiecare poțiune poate fi mutată folosind una sau mai multe vrăji, trecând prin una sau mai multe poziții intermediare. Mutând o poțiune de la poziția I în poziția J, vraja va consuma (I-J)2 unități de energie. De exemplu, dacă există șapte poțiuni aranjate astfel 1, 7, 3, 4, 5, 2, 6 și Merlin mută poțiunea (etichetată cu 2) de la cea de-a șasea poziție la a doua poziție atunci noua aranjare va fi 1, 2, 7, 3, 4, 5, 6 cu (6-2)2 unități de energie consumate. Înainte de a începe distracția, Merlin a stabilit două criterii:
1. El nu dorește să fie prea obosit la sfârșitul zilei, de aceea nu dorește să consume mai mult de E unități de energie.
2. De asemenea el se plictisește repede, de aceea el dorește să rezolve problema cu un număr minim de vrăji. Calculați numărul minim de vrăji pe care le poate folosi Merlin pentru a rezolva problema.

Balcaniada de Informatică 2018, ziua 2

#2544 materom

Scrieţi un program care să determine în conformitate cu decizia directorului, diferenţa în modul dintre suma punctajelor de la limba română ale elevilor din echipa LNA şi suma punctajelor la matematică ale elevilor din echipă, precum şi suma tuturor punctajelor elevilor din echipa LNA.