info arena

Evaluator online 24/24! Miercuri, 10 August 2005

mugurelionut




info arena> citeşte problemeArhiva de probleme, pregatire pentru concursuri de informaticaDrumuri

Arhiva de probleme, pregatire pentru concursuri de informatica

...conţine probleme interesante, selecţionate de noi sau propuse de alţi membri info arena. Gradul de dificultate variază de la foarte uşor - algoritmi elementari - pānă la foarte dificil - algoritmi, tehnici şi structuri de date avansate. Cāte poţi rezolva?

< alege alta arhivă | monitorul de evaluare |  clasament si alte statistici

< inapoi la lista de probleme


Numele problemeiDrumuri   (click aici pentru alta)
AutorCosmin Negruseri, Leonard Crestez
Timp de execuţie1 secunde
Fişier de intraredrumuri.in
Fişier de ieşiredrumuri.out
Maximum de puncte100

Drumuri

Intr-o tara exista n orase intre care exista un numar total de m drumuri pe care se poate circula in ambele sensuri. Intre oricare doua orase poate exista cel mult un drum.

Din nefericire, in aceasta tara rata criminalitatii este foarte mare si au loc o multime de jafuri „la drumul mare". Din acest motiv, conducatorii tarii au luat decizia de a amplasa paznici pe fiecare drum.

In tara respectiva a fost introdusa cota unica de impozitare, motiv pentru care fondurile de la buget sunt limitate. Pentru a reduce cheltuielile, fiecare paznic va trebui sa pazeasca doua drumuri.

Un paznic poate pazi numai doua drumuri care se intersecteaza si se doreste ca fiecare strada sa fie pazita de exact un paznic si fiecare paznic sa pazeasca exact doua drumuri. Reteaua de drumuri este construita in asa fel incat de la un oras se poate ajunge la oricare altul.

Va trebui sa verificati daca tara poate fi pazita astfel incat sa fie respectate dorintele liderilor si, daca este posibil, sa stabiliti drumurile pazite de fiecare paznic.

Date de intrare

Pe prima linie a fisierului de intrare drumuri.in se afla doua numere naturale n si m, reprezentand numarul oraselor, respectiv numarul drumurilor; aceste numere sunt separate printr-un spatiu. Urmatoarele m linii contin cate doua numere intregi, separate printr-un spatiu, reprezentand doua orase intre care se afla un drum.

Date de iesire

In fisierul de iesire drumuri.out se va scrie pe prima linie valoarea 1 daca exista o solutie, sau valoarea 0 daca problema nu are solutie. Daca problema are solutie atunci pe urmatoarele m / 2 linii vor fi scrise cate trei numere intregi; astfel, pe linia i + 1 vor fi scrise numerele x, y si z, separate printr-un spatiu, cu semnificatia: paznicul i pazeste drumul dintre orasele x si y, precum si drumul dintre orasele y si z.

 

Restrictii

·        1 n 10.000

·        1 m 30.000

 

Exemple

drumuri.in         drumuri.out

5 6                1

1 2                3 1 2

2 3                3 4 5

3 1                2 3 5

3 4

4 5

5 3

 

drumuri.in         drumuri.out

3 3                0

1 2

2 3

3 1

 

trimite solutie | statistici problema | liste de discutii 

 

info.devNet - portal informatica | info-arena.devNet - concursuri si probleme online | contul meu @ devNet
© 2003 - 2005 Cristian George Strat, cristi858 at yahoo dot com