Termen: 10 Decembrie 2000! Runda 2Vă prezentăm în continuare cele trei probleme de la cea de-a doua rundă a Concursului de Programare Agora. Concurenții care nu s-au înscris până la data de 5 Noiembrie 2000 pot participa la concurs începând cu această rundă dacă trimit mesajul de înscriere până pe data de 5 Decembrie 2000.
CPAR2P1: Acadele* Nume fișier sursă: LOL.PAS, LOL.C sau LOL.CPP Nume fișier de intrare: LOL.IN Nume fișier de ieșire: LOL.OUT Descriere: O fabrică de dulciuri produce zilnic N acadele care trebuie ambalate în B cutii, fiecare cutie conținând L acadele. Ciclul de producție durează D zile și satisface următoarele criterii:
De exemplu, dacă se produc zilnic 9 acadele, ciclul de producție este de 4 zile, atunci în fiecare zi se pot folosi 3 cutii care conțin câte 3 acadele. Cele 9 tipuri de ambalaje pot fi folosite astfel: cutia 1 cutia 2 cutia 3 ziua 1: 123 468 579 ziua 2: 145 278 369 ziua 3: 167 249 358 ziua 4: 189 256 347 Scrieți un program care pentru un număr N dat determină valoarea L, astfel încât valoarea D - B să fie minimă. Dacă există mai multe soluții se va alege cea pentru care valoarea L este maximă. Date de intrare: Fișierul de intrare conține un singur număr întreg N (2 Ł N Ł 2.000.000.000) reprezentând numărul de acadele produse zilnic. Date de ieșire: Fișierul de ieșire va conține, pe o singură linie, valorile L, B și D separate printr-un singur spațiu. Dacă nu există soluție se va scrie 0 0 0.
Exemplu: LOL.IN LOL.OUT 300000 120 2500 2521
Timp de execuție: 1 secundă/test * Problema a fost preluată dintr-o culegere publicată la editura "Computer Libris Agora" din Cluj-Napoca. Din motive ușor de înțeles titlul culegerii va apărea doar după publicarea soluției. CPAR2P2: Puncte Nume fișier sursă: POINTS.PAS, POINTS.C sau POINTS.CPP Nume fișier de intrare: POINTS.IN Nume fișier de ieșire: POINTS.OUT Descriere: Dându-se n puncte în plan, să se determine o pereche de puncte aflate la distanță minimă unul față de celălalt. Date de intrare: Fișierul de intrare conține pe prima linie un număr întreg n (1 Ł n Ł 10.000) reprezentând numărul de puncte din plan. Fiecare dintre următoarele n linii conține coordonatele reale x și y ale unui punct cu trei zecimale exacte. Date de ieșire: Fișierul de ieșire trebuie să conțină pe două linii coordonatele x și y ale celor două puncte cu trei zecimale exacte.
Exemplu: POINTS.IN POINTS.OUT 3 2.000 2.000 1.000 1.000 1.000 1.000 2.000 2.000 10.000 10.000
Timp de execuție: 1 secundă/test CPAR2P3: Determinant Nume fișier sursă: DET.PAS, DET.C sau DET.CPP Nume fișier de intrare: DET.IN Nume fișier de ieșire: DET.OUT Descriere: Se dă o matrice pătratică de dimensiune n având elemente numere reale. Să se calculeze determinantul matricei date. Date de intrare: Fișierul de intrare conține pe prima linie numărul n (1 Ł n Ł 200), iar pe fiecare dintre următoarele n linii câte n numere reale reprezentând o linie a matricei. Date de ieșire: Fișierul de ieșire trebuie să conțină un număr întreg care să indice valoarea determinantului matricei cu o aproximație de două unități.
Exemplu: DET.IN DET.OUT 2 -2 1.1 2.2 Sunt acceptate și soluțiile 3.3 4.4 -4, -3 și -1 Timp de execuție: 5 secunde/test [cuprins] |