Esentiale

Time limit: 0.3s Memory limit: 64MB Input: esentiale.in Output: esentiale.outPoints by default: 10p

„L'essentiel est invisible pour les yeux.”

Fie GG un graf neorientat conex cu NN noduri și MM muchii. Nodurile sunt numerotate de la 11 la NN iar muchiile au asociate costuri numere naturale date.

Un graf parţial al lui GG conex şi fără cicluri este denumit arbore parţial. Costul unui arbore parțial este suma costurilor muchiilor arborelui. Deoarece unele muchii pot avea același cost, este posibil ca graful GG să aibă mai mulți arbori parțiali de cost minim.

Definim o muchie a grafului GG ca fiind esențială dacă ea face parte din toți arborii parțiali de cost minim ai lui GG.

Cerință

Scrieţi un program care, cunoscând graful, rezolvă următoarele două cerinţe:

  1. determină costul unui arbore parțial de cost minim al lui GG;
  2. determină numărul de muchii esențiale ale grafului GG.

Date de intrare

Fişierul de intrare esentiale.in conţine pe prima linie numerele naturale NN, MM și CC, reprezentând numărul de noduri, numărul de muchii și numărul cerinței (11 sau 22). Următoarele MM linii conțin câte trei numere: xx, yy, cc, cu semnificația că între nodurile xx și yy există o muchie având costul cc.

Date de ieșire

Fișierul de ieșire esentiale.out va conţine o singură linie pe care va fi scris răspunsul la cerinţa CC.

Restricții și precizări

  • 2N1032 \leq N \leq 10^3
  • NM105N \leq M \leq 10^5
  • 1c1071 \leq c \leq 10^7, pentru orice muchie din GG
  • Între oricare două noduri există cel mult o muchie.
# Punctaj Restricții
1 34 C=1C=1
2 29 C=2C = 2 și M103M \leq 10^3
3 27 C=2C = 2 și M>103M > 10^3

Exemplul 1

esentiale.in

5 7 1
1 2 3
3 2 4
3 4 3
1 3 2
2 5 3
5 4 1
4 1 4

esentiale.out

9

Explicație

C=1C = 1, deci se rezolvă doar prima cerință.

Graful GG este cel din desen și unul din arborii parțiali de cost minim ai lui este format din muchiile: (4,5)(4, 5), (1,3)(1, 3), (1,2)(1, 2), (2,5)(2, 5). Costul total minim este 9=1+2+3+39=1+2+3+3, egal cu suma costurilor muchiilor în ordinea specificată mai sus.

Exemplul 2

esentiale.in

5 7 2
1 2 3
3 2 4
3 4 3
1 3 2
2 5 3
5 4 1
4 1 4

esentiale.out

2

Explicație

C=2C = 2, deci avem de rezolvat cerința a doua, pentru același graf GG.

Există trei arbori parțiali de cost minim, formați din următoarele muchii:

  • (4,5)(4, 5), (1,3)(1, 3), (1,2)(1, 2), (2,5)(2, 5)
  • (4,5)(4, 5), (1,3)(1, 3), (1,2)(1, 2), (3,4)(3, 4)
  • (4,5)(4, 5), (1,3)(1, 3), (3,4)(3, 4), (2,5)(2, 5)

Doar două muchii sunt în toți arborii parțiali de cost minim și anume (4,5)(4, 5) și (1,3)(1, 3).

Log in or sign up to be able to send submissions!