Lista de probleme 5

Gigel a învăţat la şcoală un nou cuvânt: palindrom. El ştie acum că un palindrom este o construcţie formată din litere sau/şi cifre care arată la fel citită de la început spre sfârşit sau citită de la sfârşit spre început. De exemplu numerele 2552 și 12321 au proprietatea de palindrom. Deoarece lui Gigel îi place să se joace cu cifrele, el îşi pune următoarea problemă: dat fiind un număr natural, pot fi rearanjate cifrele lui astfel încât să obţinem un palindrom? Dacă da, care este numărul maxim palindrom care poate fi obţinut? Fiind dat un număr natural n să se determine cel mai mare număr palindrom care se poate obţine cu cifrele numărului n.

Olimpiada Municipala de Informatica, Iasi, 2008

Ionel are de rezolvat mai multe probleme de divizibilitate. Unele dintre ele îi cer să afle câte numere au anumite proprietăţi. Vă rugăm să-l ajutaţi să termine tema mai repede. Scrieţi un program care citeşte un număr natural n şi două numere prime u şi v mai mici decât 10 şi determină câte numere naturale mai mici sau egale cu n au proprietatea că nu sunt divizibile nici cu u, nici cu v.

Olimpiada Municipala de Informatica, Iasi, 2008

Se consideră o expresie formată din numere naturale şi perechi de paranteze drepte. Includerea între paranteze corespunde operației de calcul a câtului împărțirii întregi la 2 a valorii incluse între paranteze, iar alăturarea a două paranteze corespunde operației de adunare a valorilor subexpresiilor. Expresia poate fi calculată doar dacă este corectă, adică nu conține numere care să nu fie incluse între paranteze drepte, nu conține perechi de paranteze care să nu includă nici un număr sau nici o altă subexpresie şi perechile de paranteze se închid corect. Fiind dată o expresie construită conform descrierii să se decidă dacă este corectă şi în caz afirmativ să se calculeze valoarea acesteia.

Olimpiada Municipala de Informatica, Iasi, 2008

#2232 retea1

Pentru a testa o nouă topologie s-a construit o reţea de calculatoare în care fiecare calculator transmite informaţia unidirecţional către un singur calculator din reţea. Numim conexiune o pereche ordonată de calculatoare, nu neapărat distincte, în care primul este cel care trimite informaţia iar al doilea este cel care o recepţioneaza direct. Fiind dată o astfel de reţea şi conexiunile existente între calculatoarele care o alcătuiesc, să se determine submulţimea cu număr maxim de calculatoare-feed-back. Un calculator-feed-back are proprietatea că informația ce pleacă de la acesta ajunge, prin intermediul conexiunilor succesive, înapoi la calculatorul de la care a plecat.

Scrieţi un program care, pentru o reţea cu n calculatoare numerotate de la 1 la n şi conexiuni precizate, determină submulţimea cu număr maxim de calculatoare-feed-back.

#2231 centre

O recunoscută companie internaţională a deschis în oraş două fabrici de ciocolată şi n centre de distribuţie. Fabricile produc un singur sortiment de ciocolată şi utilizează ca ambalaj un singur model de cutii. Fiind o companie eficientă dar preocupată de reducerea poluării în oraş, pentru livrarea săptămânală a comenzilor la centrele de distribuţie se foloseşte doar o maşină. Au fost estimate costurile de transport a unei cutii cu ciocolată de la fiecare dintre cele două fabrici la fiecare centru. În fiecare săptămână, producţia cumulată a celor două fabrici acoperă exact cererile celor n centre.

Scrieţi un program care calculează costul minim de transport săptămânal pentru livrarea comenzilor la cele n centre de distribuţie, cunoscând cantităţile produse de cele două fabrici, cererea fiecărui centru de distribuţie şi costurile de transport ale unei cutii cu ciocolată de la fiecare fabrică la fiecare centru.