Sunteți pe pagina 1din 2

Centrul de pregătire InfoGym Ias, i

Runda II, 4 martie 2023


Clasele XI-XII

Problema Călătoria lui Ionut,


Fis, ier de intrare: calatorie.in
Fis, ier de ies, ire: calatorie.out

Cerint, ă
Ionut, trăies, te ı̂ntr-o t, ară cu n oras, e s, i m drumuri bidirect, ionale, ce fac legătura ı̂ntre cele n oras, e. Definim
distant, a dintre două oras, e x s, i y drept numărul minim de drumuri ce trebuie parcurse pentru a ajunge
de la oras, ul x la oras, ul y, sau −1, ı̂n cazul ı̂n care nu se poate ajunge de la oras, ul x la oras, ul y.
Ionut, locuies, te ı̂n oras, ul 1 s, i vrea să viziteze oras, ul n. Înainte de a-s, i ı̂ncepe călătoria, el vrea să s, tie:

1. Distant, a ı̂ntre orasul 1 s, i oras, ul n.

2. Numărul de trasee de lungime minimă ı̂ntre oras, ul 1 s, i oras, ul N .

3. Pentru un număr natural k, câte trasee de lungime exact k, care nu trec de două ori prin acelas, i
oras, , există de la oras, ul 1 la oras, ul n, ı̂n ipoteza că oras, ul cont, ine câte un drum ı̂ntre fiecare două
oras, e. Calculat, i rezultatul modulo 109 + 7.

Lungimea unui traseu constă ı̂n numărul de drumuri pe care le cont, ine acel traseu.
Două trasee sunt diferite dacă succesiunea oras, elor prin care va calători Ionut, parcurgând cele două
trasee este diferită.

Date de intrare
Fis, ierul de intrare calatorie.in cont, ine pe prima linie numărul c, reprezentând cerint, a care trebuie să
fie rezolvată (1, 2 sau 3).
Pentru c = 1 s, i c = 2, pe a doua linie se găsesc două numere naturale, n s, i m. Pe fiecare dintre
urmatoarele m linii se găsesc câte două numere x s, i y, cu semnificat, ia că există un drum bidirect, ional de
la oras, ul x la oras, ul y.
Pentru c = 3, pe a doua linie se găsesc două numere naturale, n s, i k.

Date de ies, ire


Fis, ierul de ies, ire calatorie.out va cont, ine o singură linie pe care va fi scris un număr natural repre-
zentând rezultatul pentru cerint, a c.

Restrict, ii s, i precizări

• 2 ≤ n ≤ 2 · 105

• 0 ≤ m ≤ min(n(n − 1)/2, 2 · 105 )

• 1 ≤ k ≤ 2 · 105

• În fis, ierul de intrare, drumurile nu se pot repeta!

• Nu există bucle (drumuri de la un oras, la el ı̂nsus, i).


Centrul de pregătire InfoGym Ias, i
Runda II, 4 martie 2023
Clasele XI-XII

• Pentru cerint, a 2 se garantează că există cel put, in un traseu de la oras, ul 1 la oras, ul n.

• Pentru cerint, a 2 se garantează că rezultatul este mai mic sau egal cu 109 .

• Pentru teste ı̂n valoare de 20 de puncte c = 1.

• Pentru teste ı̂n valoare de 50 de puncte c = 2.

• Pentru teste ı̂n valoare de 30 de puncte c = 3.

Exemple
calatorie.in calatorie.out
1 3
4 3
1 2
2 3
3 4
1 -1
5 6
1 2
2 3
3 1
2 4
4 1
3 4
2 2
5 5
1 2
1 3
2 4
3 4
4 5
3 2
4 2

Explicat, ii
Pentru primul exemplu, Ionut, poate călători pe următoarele 3 drumuri, ı̂n această ordine: (1, 2), (2, 3) s, i
(3, 4).
În al doilea exemplu, nu se poate ajunge de la oras, ul 1 la oras, ul n = 5.
Pentru al treilea exemplu, cele 2 trasee de distant, ă minimă sunt: (1, 2, 4, 5) s, i (1, 3, 4, 5).
Pentru ultimul exemplu, cele 2 trasee de lungime 2 sunt: (1, 2, 4) s, i (1, 3, 4).

S-ar putea să vă placă și