QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 1024 MB Puntuación total: 100 Hackeable ✓

#19971. Graphe coloré

Estadísticas

Considérez un graphe non orienté à $n$ sommets. Un $k$-coloriage du graphe est simplement l'attribution à chaque sommet de l'une des $k$ couleurs. Il n'y a pas d'autres restrictions – deux sommets peuvent recevoir la même couleur même s'ils sont reliés par une arête.

On vous donne deux $k$-coloriages $s$ et $t$. Vous souhaitez passer pas à pas du coloriage initial $s$ au coloriage final $t$. À chaque étape, chaque sommet peut changer sa couleur pour celle de l'un de ses voisins, ou conserver sa couleur actuelle.

Formellement, vous cherchez une suite de $k$-coloriages $C_0, C_1, C_2, \ldots, C_\ell$ telle que $C_0 = s$, $C_\ell = t$, et pour chaque sommet $x$, $C_i(x)$ est égal soit à

• $C_{i-1}(x)$ ; soit à

• $C_{i-1}(y)$ où $(x, y)$ est une arête du graphe

Le graphe donné en entrée est garanti connexe et sans boucle. Déterminez s'il est possible de construire une telle suite, et affichez-en une le cas échéant. La suite n'a pas besoin d'être la plus courte tant qu'elle utilise au plus $20\,000$ étapes.

Par exemple, supposons que vous deviez partir du coloriage initial à gauche et parvenir au coloriage final à droite :

Une solution est la suivante :

Entrée

La première ligne de l'entrée contient trois entiers $n$, $m$ et $k$. Ici, $n$ est le nombre de sommets, $m$ est le nombre d'arêtes et $k$ est le nombre de couleurs ($1 \le n, k \le 100$, $0 \le m \le \binom{n}{2}$). La deuxième ligne de l'entrée contient $n$ entiers, chacun dans l'intervalle $[0, k - 1]$. Ils indiquent le coloriage initial. La troisième ligne de l'entrée contient $n$ entiers, chacun dans l'intervalle $[0, k - 1]$. Ils indiquent le coloriage final. Chacune des $m$ lignes suivantes contient deux entiers $x_i$ et $y_i$, représentant une arête dans le graphe ($1 \le x_i, y_i \le n$).

Le graphe donné en entrée est connexe. Il n'y a ni boucle ni arête multiple.

Sortie

Affichez Impossible s'il n'existe pas de telle suite. Sinon, affichez une ou plusieurs lignes décrivant une suite de coloriages $C_0, C_1, C_2, \ldots, C_\ell$ ($\ell \le 20\,000$). Chaque ligne contient $n$ entiers séparés par un espace, décrivant le coloriage. La première ligne indique le coloriage initial et la dernière ligne indique le coloriage final.

Vous pouvez utiliser au plus $20\,000$ étapes, par conséquent la sortie contient au plus $20\,001$ lignes.

Exemples

Entrée 1

6 6 2
0 1 0 1 1 1
1 0 0 0 1 0
1 2
2 3
3 5
5 4
4 6
6 5

Sortie 1

0 1 0 1 1 1
1 1 0 1 0 1
1 1 0 0 1 0
1 0 0 0 1 0

Exemples

Entrée 2

1 0 2
0
1

Sortie 2

Impossible

Dans l'Exemple 1, chaque sommet conserve sa couleur précédente ou copie la couleur précédente d'un voisin à chaque transition affichée. Dans l'Exemple 2, l'unique sommet n'a aucun voisin et ne peut pas passer de la couleur $0$ à la couleur $1$.

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.