Documente Academic
Documente Profesional
Documente Cultură
Descrierea problemelor
Clasele 10 − 12
Conjectura lui
100 CONJECT.PAS CONJECT.IN CONJECT.OUT
Goldbach
Multimicro-
100 MULTI.PAS MULTI.IN MULTI.OUT
procesoare
Total 400 - - -
1 / 12
Olimpiada Republicană la Informatică 2009 Clasele 10−12
Описание задач
Классы 10 − 12
Конъектура
100 CONJECT.PAS CONJECT.IN CONJECT.OUT
Гольдбаха
Многопро-
цессорные 100 MULTI.PAS MULTI.IN MULTI.OUT
компьютеры
Всего 400 - - -
2 / 12
Olimpiada Republicană la Informatică 2009 Clasele 10−12
Sunt multe afirmaţii matematice, care sunt confirmate de evidenţa empirică, dar care nu sunt
încă demonstrate. Una din ele este celebra Conjectură1 a lui Goldbach: “Orice număr întreg impar,
mai mare decât 5, poate fi scris ca sumă de 3 numere prime”.
Exemple:
4 = 2+2; 12 = 5 + 7 ;
6 = 3+3; 14 = 7 + 7 = 3 + 11 ;
8 = 5+3; ...
10 = 5 + 5 = 3 + 7 ; 100 = 97 + 3 .
Euler nu a reuşit să demonstreze Conjectura lui Goldbach şi, de fapt, nimeni nu a reuşit acest
lucru până în prezent, insă exemple, care ar demonstra contrariul, nu au fost găsite.
Sarcină. Elaboraţi un program, care reprezintă orice număr întreg, par mai mare decât 2 ca o
sumă de două numere prime.
Date de intrare. Fişierul text CONJECT.IN conţine pe o singură linie numărul întreg par n.
Date de ieşire. Fişierul text CONJECT.OUT va conţine pe o singură linie două numere prime,
separate prin spaţiu, suma cărora este egală cu n. Ordinea de apariţie a numerelor prime în fişierul
de ieşire nu contează. Dacă problema are mai multe soluţii, în fişierul de ieşire se va scrie doar una,
oricare din ele.
Exemplu.
CONJECT.IN CONJECT.OUT
14 3 11
Restricţii. 2 < n ≤ 254 . Timpul de execuţie nu va depăşi 0,5 secunde. Programul va folosi cel
mult 32 Megaocteţi de memorie operativă. Fişierul sursă va avea denumirea CONJECT.PAS.
1
Părere întemeiată pe presupuneri, pe probabilităţi, pe aparenţe. Această conjectură a fost formulată de matematicianul
german Christian Goldbach (1690–1764) într-o scrisoare trimisă renumitului om de ştiinţă Leonhard Euler.
3 / 12
Olimpiada Republicană la Informatică 2009 Clasele 10−12
Конъектура Гольдбаха
Примеры:
4 = 2+2; 12 = 5 + 7 ;
6 = 3+3; 14 = 7 + 7 = 3 + 11 ;
8 = 5+3; ...
10 = 5 + 5 = 3 + 7 ; 100 = 97 + 3 .
Выходные данные.
Техстовый файл CONJECT.OUT должен содержать в
единственной строке два простых числа, разделенныe пробелом, сумма которых равно n.
Порядок появления простых чисел в выходном файле является произвольным. Если задача
имеет несколько решений, в выходном файле зыписывается только одно, любое из них.
Пример.
CONJECT.IN CONJECT.OUT
14 3 11
2
Предположение, догадка, основанные на повседневном опыте. Рассматриваемя конъектура была
сформулирована немецким математиком Кристианом Гольдбахом (1690–1764) в письме к знаменитому
ученному Леонарду Эйлеру.
4 / 12
Olimpiada Republicană la Informatică 2009 Clasele 10−12
Corăbii
Un satelit realizează fotografia unei porţiuni de mare, pe care se află mai multe corăbii.
Fotografia, prelucrată de calculator, conţine zone de culoare întunecata, ce reprezintă marea, şi zone
de culoare deschisă, ce reprezintă corabiile.
Sarcină. Elaboraţi un program care, avânt la intrare fotografia făcută de pe satelit, determină
câte tipuri de corăbii sunt pe mare şi numărul de corăbii de fiecare tip.
Date de intrare. Fişierul text CORABII.IN conţine pe prima linie numerele întregi n, m
separate prin spaţiu. Fiecare din următoarele n linii ale fişierului de intrare conţine câte m caractere
ce reprezintă microzonele respective ale fotografiei.
Date de ieşire: Fişierul de ieşire CORABII.OUT va conţine pe prima linie un număr întreg k
− numărul de tipuri de corabii detectate. Linia a doua a fişierului de ieşire trebuie să conţină k
numere întregi pozitive, separate prin spaţiu, reprezentând numărul de corăbii de fiecare tip.
Ordinea in care sunt scrise aceste numere nu contează.
Exemplu:
CORABII.IN CORABII.OUT
10 10 3
---------- 2 4 1
----xxx---
----xxx---
----------
--xx--x---
--xx------
--xx---x--
----------
--x-x-xxx-
----------
5 / 12
Olimpiada Republicană la Informatică 2009 Clasele 10−12
Корабли
Пример:
CORABII.IN CORABII.OU
T
10 10 3
---------- 2 4 1
----xxx---
----xxx---
----------
--xx--x---
--xx------
--xx---x--
----------
--x-x-----
------xxx-
6 / 12
Olimpiada Republicană la Informatică 2009 Clasele 10−12
Oraşe
Cunoaştem cu toţii jocul „Oraşe”. În acest joc, primul jucător pronunţă o denumire de oraş, de
exemplu, „ORHEI”. Aceasta denumire se termină cu litera „I”. Jucătorul al doilea trebuie să
pronunţe o denumire de oraş, care se începe anume cu această literă, de exemplu,
„INDIANAPOLIS”. În continuare, primul jucător trebuie să pronunţe o denumire de oraş, care se
începe cu litera „S”, de exemplu, „STRASBOURG”. Evident, în continuare, jucătorul al doilea va
trebui să pronunţe o denumire de oraş, care începe cu „G” ş.a.m.d. Repetarea denumirilor de oraşe
este interzisă.
Sarcină. Se consideră n denumiri distincte de oraşe. Scrieţi un program care, în condiţiile
jocului de mai sus, construieşte un şir, ce conţine un număr maximal de denumiri de oraşe.
Date de intrare. Fişierul text ORASE.IN conţine pe prima lini numărul întreg n. Fiecare din
următoarele n linii ale fişierului de intrare conţine câte un şir de caractere, ce reprezintă o denumire
de oraş.
Date de ieşire. Fişierul text ORASE.OUT va conţine pe prima linie numărul întreg k – numărul
maximal de denumiri de oraşe din şirul construit. Fiecare din următoarele k linii ale fişierului de
ieşire conţine câte un şir de caractere, ce reprezintă o denumire de oraş. Ordinea de apariţie a
denumirilor de oraşe în fişierul de ieşire corespunde condiţiilor jocului de mai sus. Dacă problema
are mai multe soluţii, în fişierul de ieşire se va indica doar una din ele.
Exemplu.
ORASE.IN ORASE.OUT
5 3
ORHEI ORHEI
CHISINAU INDIANAPOLIS
STRASBOURG STRASBOURG
INDIANAPOLIS
REZINA
Restricţii. 2 ≤ n ≤ 15 . Denumirile de oraşe sunt formate din literele mari ale alfabetului latin
şi conţin de la 2 până la 30 de caractere. Timpul de execuţie nu va depăşi 2,0 secunde. Programul va
folosi cel mult 32 Megaocteţi de memorie operativă. Fişierul sursă va avea denumirea ORASE.PAS.
7 / 12
Olimpiada Republicană la Informatică 2009 Clasele 10−12
Города
Пример.
ORASE.IN ORASE.OUT
5 3
ORHEI ORHEI
CHISINAU INDIANAPOLIS
STRASBOURG STRASBOURG
INDIANAPOLIS
REZINA
8 / 12
Olimpiada Republicană la Informatică 2009 Clasele 10−12
Multimicroprocesoare
p1 p2 p1 p2
m1 m3 m2
p3 p3
m2 m3
m1
În continuare, în fişierul de intrare se conţin n linii cu câte n numere întregi, separate prin
spaţiu. Linia (n +k +1) a fişierului de intrare conţine numerele întregi dk1, dk2, ..., dkn, separate prin
spaţiu.
Date de ieşire. Fişierul text MULTI.OUT va conţine pe prima linie numerele întregi q1, q2, ...,
qn, separate prin spaţiu. Aceste numere indică poziţiile în care sunt instalate microprocesoarele,
respectiv, m1, m2, ..., mn, cu condiţia că lungimea sumară a conductorilor este minimală. Linia a
doua a fişierului de ieşire va conţine numărul întreg Lmin – lungimea sumară minimală a
conductorilor ce reunesc microprocesoarele. Dacă problema admite mai multe variante de instalare,
în fişierul de ieşire se va indica doar una din ele.
(vezi pagina următoare)
9 / 12
Olimpiada Republicană la Informatică 2009 Clasele 10−12
Многопроцессорные компьютеры
p1 p2 p1 p2
m1 m3 m2
p3 p3
m2 m3
m1
один из возможных
микропроцессоры позиции
вариантов установки
микропроцессоров
10 / 12
Olimpiada Republicană la Informatică 2009 Clasele 10−12
Exemplu.
MULTI.IN MULTI.OUT
3 3 2 1
0 10 50 230
10 0 100
50 100 0
0 1 2
1 0 3
2 3 0
11 / 12
Olimpiada Republicană la Informatică 2009 Clasele 10−12
Пример.
MULTI.IN MULTI.OUT
3 3 2 1
0 10 50 230
10 0 100
50 100 0
0 1 2
1 0 3
2 3 0
12 / 12