Diferente pentru problema/ostrov intre reviziile #1 si #22

Diferente intre titluri:

ostrov
Ostrov

Diferente intre continut:

== include(page="template/taskheader" task_id="ostrov") ==
Poveste şi cerinţă...
Recent, s-a descoperit o noua insula din Rusia numita Ostrov. Initial, aceasta insula nu are niciun oras sau strada construita. Datorita proprietatilor sale geografice extraordinare, multi actionari rusi vor sa investeasca in aceasta insula pentru a-si construi fabrici de apa plata magica pentru a putea sa sustina in continuare obiceiurile frumosilor ca cei din 'Staropramen':http://www.infoarena.ro/problema/staropramen. Astfel, exista $Q$ operatii de forma:
 
* $0$ -> se construieste orasul $++N$
* $1 X nr m$ iar pe urmatoarele $m$ linii cate $3$ numere $x, y, s$ ce reprezinta o strada bidirectionala intre orasele $x$ si $y$ de cost $s$, $x$ si $y$ apartinand celor $nr$ orase construite reunit cu orasul $X$  -> proprietarul orasului $X$ construieste inca $nr$ orase (orasele de la $N+1$ la $N+nr$) care sunt legate intre ele (orasul $X$ cu cele $nr$ orase noi) prin cele $m$ strazi bidirectionale mentionate mai sus. Dupa aceasta operatie $N = N + nr$
* $2 x y s$ -> pentru ca nu se poate ajunge din orasul $x$ in orasul $y$, investitorii care detin aceste doua orase colaboreaza si construiesc o strada bidirectionala intre orasele $x$ si $y$ de cost $s$
* $3 x y s$ -> costul strazii dintre orasele $x$ si $y$ devine $s$. Se garanteaza ca strada dintre $x$ si $y$ a fost construita anterior
* $4 x y$ -> sa se afiseze costul minim al unui drum de la orasul $x$ la orasul $y$, sau $-1$ daca nu se poate ajunge de la orasul $x$ la orasul $y$
h2. Date de intrare
Fişierul de intrare $ostrov.in$ ...
Fişierul de intrare $ostrov.in$ contine pe pe prima linie numarul $Q$, iar dupa aceea cele $Q$ operatii de forma celor de mai sus.
h2. Date de ieşire
În fişierul de ieşire $ostrov.out$ ...
În fişierul de ieşire $ostrov.out$ trebuie sa se afiseze raspunsul pentru fiecare operatie de tipul $4$ pe cate o linie separata.
h2. Restricţii
* $... ≤ ... ≤ ...$
* $la final N ≤ 100000$
* $la final numarul de strazi ≤ 300000$
* $nr ≤ 10$
* $s ≤ 1000$
* $numarul operatiilor de tipul 3 ≤ 10000$
* $numarul operatiilor de tipul 4 ≤ 300000$
* ATENTIE! Se recomanda parsarea fisierului de intrare. Puteti folosi codul de pe siteul 'acesta':http://www.infoarena.ro/parsare-fisier-intrare
h2. Exemplu
table(example). |_. ostrov.in |_. ostrov.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|
 
h3. Explicaţie
 
...
| 11
0
1 1 3 4
1 2 3
2 4 5
1 3 1
3 4 2
4 1 4
0
2 3 5 4
1 2 3 4
2 6 2
6 8 3
6 7 1
8 7 1
4 5 7
0
4 9 2
3 2 4 1
4 5 7
| 3
11
-1
10
|
== include(page="template/taskfooter" task_id="ostrov") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.