Rezolvare PBinfo #1425

Decorative Icon Problema: Ghirlande / 1425

Decorative IconAutor: Darius

Deoarece vin sărbătorile, elevii de la Liceul de informatică s-au gândit să decoreze laboratorul P1 cu ghirlande legate între ele. Ei au cumpărat N ghirlande numerotate de la 1 la N și vor să le lege împreună apoi să orneze laboratorul. Fiecare ghirlandă are doua culori distribuite astfel încât capetele să aibă culori diferite. Culorile sunt codificate prin numere naturale. Decoraţiunile cumpărate au N-1 culori care apar exact de două ori şi 2 culori care apar doar o singură dată. Pentru a face munca mai distractivă ei s-au gândit că, la legarea a două ghirlande, să unească două capete de aceeaşi culoare.

Cerința

1) Pentru cerinţa 1 copiii vor să afle suma codurilor culorilor aflate la cele două capete ale lanţului format prin legarea ghirlandelor cumpărate, respectând regulile de îmbinare de mai sus.
2) Pentru cerinţa 2 ajutaţi-i să lege ghirlandele pentru a decora laboratorul P1 respectând regulile menţionate. Trebuie sa afisati numerele de ordine ale ghirlandelor în ordinea în care vor fi legate. La cele doua capete se vor afla
cele doua ghirlande care conțin o culoare ce apare o singura data. Dintre acestea prima va fi cea care are codul culorii mai mic

Date de intrare

Fișierul de intrare ghirlande.in conține pe prima linie numărul T. Dacă T este 1 se va rezolva cerinţa 1, iar dacă T este 2 se va rezolva cerinţa 2. Pe linia a doua apare numărul de ghirlande N. Pe următoarele N linii se găsesc câte 2 numere ai bi cu următoarea semnificaţie: ghirlanda cu numărul i (1≤i≤N) are culoarea ai până la jumătate şi culoarea
bi de la jumătate.

Date de ieșire

Fișierul de ieșire ghirlande.out:

  • dacă T=1 atunci va conţine o singură linie unde se va afişa suma cerută
  • dacă T=2 atunci va conţine o singură linie unde vor fi afişate N numere cu valori între 1 şi N, reprezentând numerele de ordine ale ghirlandelor, din fişierul de intrare. Aceste numere reprezintă ordinea în care se leagă ghirlandele între ele.
Restricții și precizări
  • 2 ≤ N ≤ 900.000
  • 1 ≤ ai, bi ≤ 2*106 (pentru 1≤i≤N)
Exemplul 1

ghirlande.in

1
3
400 3
5 10
3 5

ghirlande.out

410
Explicație

Codurile celor două capete sunt: 400 şi 10.

Exemplul 2

ghirlande.in

2
3
400 3
5 10
3 5

ghirlande.out

2 3 1
Exemplul 2

ghirlande.in

2
5
3 5
6 12
5 12
7 8
6 8

ghirlande.out

1 3 2 5 4

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2026 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate