www.agora.ro

Problemele rundei 5

CR5P1 Triunghi

  Se dă următorul triunghi:

1

2 3

4 5 6

7 8 9 10

11 12 13 14 15

16 17 18 19 20 21

22 23 24 25 26 27 28

29 30 31 32 33 34 35 36

37 38 39 40 41 42 43 44 45

..............................

Să se găsească trei numere care formează un triunghi echilateral a căror sumă este X (1 Ł X Ł 1019), astfel încât două numere se află pe aceeași linie, iar al treilea pe o linie cu indice mai mic.

Numărul X se citește din fișierul TRIUNGHI.IN. Cele trei numere vor fi scrise în fișierul TRIUNGHI.OUT în ordine crescătoare, pe o singură linie, separate printr-un singur spațiu. Dacă există mai multe soluții, va fi afișată numai una. Dacă nu există soluție, se va afișa 0 0 0 (trei de 0). Programul va trebui să se execute în cel mult o secundă.

Exemple

TRIUNGHI.IN

101

TRIUNGHI.OUT

15 41 45

TRIUNGHI.IN

20

TRIUNGHI.OUT

0 0 0

CR5P2 Beculețe

  Fie o rețea ortogonală ale cărei linii sunt la distanță unitară, iar nodurile ei sunt în puncte de coordonate întregi din intervalul [-30000,30000]; pătratele rețelei sunt colorate inițial cu alb (culoarea de indice 0).

În n (1 Ł n Ł 255) noduri ale rețelei se află câte un beculeț. Unind în linie dreaptă, printr-un fir, două beculețe, toate pătratele traversate efectiv de fir (firul trece prin interiorul pătratului) își schimbă culoarea din culoarea i în culoarea i+1. Instalația funcționează dacă și numai dacă între oricare două becuri există legătură (directă sau indirectă).

Determinați o modalitate de conectare a celor n becuri astfel încât instalația să funcționeze, iar coloratura rețelei să fie minimă. Prin coloratura rețelei se înțelege suma indicilor de culoare a tuturor pătratelor din rețea.

Datele de intrare se citesc din fișierul BECULETE.IN care va conține pe prima linie numărul n al beculețelor, iar pe următoarele n linii coordonatele acestora.

Datele de ieșire vor fi scrise în fișierul BECULETE.OUT care va conține pe prima linie coloratura rețelei, pe a doua linie numărul m al legăturilor directe realizate, iar pe următoarele m linii câte 4 numere separate printr-un singur spațiu care reprezintă coordonatele a două beculețe unite printr-un fir direct. Programul va trebui să se execute în cel mult cinci secunde.

Exemplu

BECULETE.IN

5

0 0

2 10

1 5

5 7

10 0

BECULETE.OUT

12

4

2 10 5 7

1 5 0 0

5 7 1 5

10 0 0 0

CR5P3 Multiplu

  Se dau numerele naturale n (2 Ł n Ł 15000) și b (2 Ł b Ł 9). Scrieți un program care determină, în mai puțin de o secundă, un multiplu al numărului n care este format numai din cifrele 0 și b.

Datele de intrare se citesc din fișierul MULTIPLU.IN care conține, pe o singură linie, numerele n și b, separate printr-un singur spațiu.

Datele de ieșire vor fi scrise în fișierul MULTIPLU.OUT care va conține multiplul determinat.

Exemple

MULTIPLU.IN

40 3

MULTIPLU.OUT

3000

MULTIPLU.IN

40 4

MULTIPLU.OUT

40

[cuprins]