QOJ.ac

QOJ

時間限制: 8 s 記憶體限制: 512 MB 總分: 100 难度: [顯示]

#1814. Royaumes et quarantaine

统计

Il existe deux royaumes $A$ (avec $N_1$ villes) et $B$ (avec $N_2$ villes), ainsi que $M$ routes bidirectionnelles, chacune reliant une ville de $A$ à une ville de $B$, de telle sorte qu'il n'y ait pas plus d'une route reliant une paire de villes donnée.

Les villes du royaume $A$ sont numérotées de $1$ à $N_1$, et les villes du royaume $B$ sont numérotées de $N_1 + 1$ à $N_1 + N_2$. Les routes sont numérotées de $1$ à $M$ ; la route $i$ relie deux villes $a_i$ et $b_i$, où $a_i$ et $b_i$ satisfont $1 \le a_i \le N_1$ et $N_1 + 1 \le b_i \le N_1 + N_2$.

Il était une fois, un virus dangereux apparut dans l'un des royaumes, et les Rois décidèrent de fermer certaines routes. Soit $D_j$ le nombre initial de routes reliant la ville $j$ aux autres villes, et $d_j$ le nombre de routes actuellement actives (non fermées) reliant la ville $j$ aux autres villes.

La route $x$ peut être fermée si et seulement si les conditions suivantes sont remplies avant la fermeture de la route :

  • Elle n'a pas été fermée auparavant.
  • Les nombres $d_{a_x}$ et $D_{b_x}$ doivent avoir la même parité (tous deux pairs ou tous deux impairs).
  • Les nombres $d_{b_x}$ et $D_{a_x}$ doivent avoir la même parité (tous deux pairs ou tous deux impairs).

Trouvez le nombre maximum de routes pouvant être fermées, puis trouvez une séquence d'opérations de fermeture de routes permettant d'atteindre ce maximum.

Entrée

La première ligne de l'entrée contient trois entiers, $N_1$, $N_2$ et $M$ : le nombre de villes dans le royaume $A$, le nombre de villes dans le royaume $B$, et le nombre de routes, respectivement ($1 \le N_1, N_2, M \le 3000$, $1 \le M \le N_1 \cdot N_2$).

Les $M$ lignes suivantes décrivent la route $i$ et contiennent deux entiers $a_i$ et $b_i$ ($1 \le a_i \le N_1$, $N_1 + 1 \le b_i \le N_1 + N_2$) : les numéros des villes reliées par cette route. Vous pouvez supposer que, pour deux routes $i$ et $j$ distinctes, $a_i \neq a_j$ ou $b_i \neq b_j$.

Sortie

Sur la première ligne, affichez l'entier $K$ : le nombre maximum de routes pouvant être fermées. Sur la seconde ligne, affichez $K$ entiers $r_i$ ($1 \le r_i \le M$) : les numéros des routes à fermer, dans l'ordre de leur fermeture.

S'il existe plusieurs réponses optimales, affichez-en une quelconque.

Exemples

Entrée 1

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

Sortie 1

3
1 4 2

Entrée 2

1 2 2
1 2
1 3

Sortie 2

0

Entrée 3

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

Sortie 3

5
1 7 6 2 4

Remarque

Dans le premier exemple, $D_1 = 3, D_2 = 2, D_3 = 1, D_4 = 2, D_5 = 2$. Initialement, $d_1 = 3, d_2 = 2, d_3 = 1, d_4 = 2, d_5 = 2$, nous pouvons donc fermer les routes suivantes :

  • Route 1 reliant la ville 1 et la ville 3.
  • Route 4 reliant la ville 2 et la ville 4.
  • Route 5 reliant la ville 2 et la ville 5.

Fermons la route 1, alors $d_1 = 2, d_2 = 2, d_3 = 0, d_4 = 2, d_5 = 2$. Après cela, les routes qui peuvent être fermées sont les suivantes :

  • Route 4 reliant la ville 2 et la ville 4.
  • Route 5 reliant la ville 2 et la ville 5.

Fermons la route 4, alors $d_1 = 2, d_2 = 1, d_3 = 0, d_4 = 1, d_5 = 2$. Maintenant, nous ne pouvons fermer que la route 2, reliant la ville 1 et la ville 4. Après cela, $d_1 = 1, d_2 = 1, d_3 = 0, d_4 = 0, d_5 = 2$. Il peut être démontré qu'il est impossible de fermer plus de trois routes, donc la réponse est 3.

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1295EditorialOpenNew Editorial for Problem #1814Anonymous2026-03-20 21:08:01View

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 1
IDTypeStatusTitlePosted ByLast UpdatedActions
#1296Off-topicOpenNew Editorial for Problem #1814Anonymous2026-03-19 18:26:31View

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.