QOJ.ac

QOJ

Time Limit: 2.0 s Memory Limit: 256 MB Total points: 100

#20002. Arbre de Steiner dans un graphe aléatoire

Statistics

On vous donne un graphe pondéré à $n$ sommets. Votre tâche consiste à trouver un sous-graphe connexe de poids total minimal contenant tous les sommets dont les numéros vont de $1$ à $n-k$ inclus.

Pour faciliter la résolution du problème et la génération des tests, tous les tests, à l’exception des exemples, sont générés par l’algorithme suivant :

  • Le jury choisit les entiers $n$, $m$ et $k$.
  • Toutes les $\frac{n\cdot(n-1)}{2}$ arêtes possibles sont examinées dans un ordre aléatoire.
  • L’arête en cours d’examen est ajoutée au graphe si, après son ajout, il est encore possible d’ajouter zéro ou plusieurs des arêtes suivantes et d’obtenir un graphe connexe comportant au plus $m$ arêtes au total.
  • Pour chaque arête, son poids est un entier choisi uniformément au hasard dans l’intervalle $[50,100]$, indépendamment des autres arêtes.

Entrée

La première ligne contient trois entiers $n$ ($5 \le n \le 100$), $m$ ($2\cdot n \le m \le 10\cdot n$) et $k$ ($0 \le k \le 30$). Chacune des $m$ lignes suivantes contient trois entiers $a_i$, $b_i$ et $w_i$ ($1 \le a_i < b_i \le n$, $50 \le w_i \le 100$), indiquant que les sommets $a_i$ et $b_i$ sont reliés par une arête de poids $w_i$.

Il est garanti que le graphe ne contient ni boucle ni arêtes multiples. De plus, dans tous les tests sauf les exemples, le graphe est garanti être généré par l’algorithme décrit ci-dessus.

Sortie

Sur la première ligne, affichez un entier $c$, le nombre d’arêtes du sous-graphe choisi. Sur les $c$ lignes suivantes, affichez les arêtes choisies : les numéros des sommets reliés par chacune d’elles. S’il existe plusieurs réponses possibles, affichez n’importe laquelle.

Exemples

Entrée 1

5 10 3
1 2 50
1 3 51
1 4 52
1 5 53
2 3 54
2 4 55
2 5 56
3 4 57
3 5 58
4 5 59

Sortie 1

1
1 2

Entrée 2

5 10 2
1 2 100
1 3 100
1 4 57
1 5 56
2 3 100
2 4 54
2 5 53
3 4 52
3 5 51
4 5 50

Sortie 2

3
5 2
5 3
1 5

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.