QOJ.ac

QOJ

Time Limit: 5 s Memory Limit: 2048 MB Total points: 100

#8686. Zooverwaltung

Statistics

Bei der Verwaltung eines Zoos möchtest du manchmal Tiere zwischen Gehegen umsetzen. Vielleicht stellst du fest, dass die Zebras das geräumigere Gehege der Pinguine mögen würden, während die Pinguine in das kältere Gehege der Koalas ziehen möchten; die Koalas würden in ein leeres Gehege umziehen, das mit Eukalyptus gefüllt werden kann. Also würdest du zuerst die Koalas umsetzen, um das kältere Gehege freizumachen, dann die Pinguine dorthin und zuletzt die Zebras.

Zum Umsetzen der Tiere nutzt du besondere Tunnel zwischen den Gehegen. Die Tiere sollen nicht draußen laufen, sowohl wegen der Gefahr, dass sie sich erschrecken, als auch wegen der Gefahr, dass sie weglaufen und sich verletzen.

problem_8686_a2a053ee36bb78fadb0dd8509481feee.png

Ein Foto eines Zoos mit einem Kamel, einem Esel und (einem Teil) einer Ziege.

Leider hast du vor Kurzem weitere Tiere bekommen, und nun sind alle Gehege voll, was das Umsetzen erheblich erschwert. Stell dir etwa vor, die Koalas sollten in das bisherige Zebragehege ziehen: Dann kannst du keine Tiergruppe zuerst umsetzen. Stattdessen hast du gelernt, Tiere gleichzeitig umzusetzen: Zebras, Koalas und Pinguine betreten gleichzeitig verschiedene Tunnel und kommen gleichzeitig in ihren neuen Gehegen an, sodass sie sich nie begegnen. Beachte, dass du so nicht einfach die Tiere zweier verbundener Gehege vertauschen kannst (denn sie würden sich im Tunnel begegnen und erschrecken).

Nun hast du also ein Rätsel. Du hast eine Liste von Gehegen, jedes mit einer Tierart darin; manche sind durch Tunnel verbunden. Beliebig oft kannst du eine Menge von Tieren auswählen und jedes in ein durch einen Tunnel benachbartes Gehege bewegen, sofern das Tier in diesem Gehege ebenfalls während desselben Zuges bewegt wird und kein Tunnel während desselben Zuges mehr als einmal benutzt wird. Außerdem hast du eine Vorstellung von der perfekten Anordnung der Tiere. Lässt sie sich durch eine Folge von Zügen erreichen?

Eingabe

Die erste Eingabezeile besteht aus zwei ganzen Zahlen $n$ ($1 \le n \le 4 \cdot 10^5$) und $m$ ($0 \le m \le 4 \cdot 10^5$), der Anzahl der Gehege und Tunnel. Danach folgen $n$ Zeilen, deren $i$-te zwei ganze Zahlen $b_i$ ($1 \le b_i \le 10^6$) und $e_i$ ($1 \le e \le 10^6$) enthält. Sie geben die Tierart an, die sich anfangs im Gehege $i$ befindet, und die Tierart, die nach allen Zügen im Gehege $i$ sein soll. Du darfst annehmen, dass $e_1, \ldots, e_n$ eine Permutation von $b_1, \ldots, b_n$ ist.

Danach folgen $m$ Zeilen, die die Tunnel beschreiben. Jede enthält zwei ganze Zahlen $x$ und $y$ ($1 \le x < y \le n$), die angeben, dass die Gehege $x$ und $y$ durch einen Tunnel in beide Richtungen verbunden sind. Keine zwei Gehege sind durch mehr als einen Tunnel verbunden.

Ausgabe

Falls sich die Tiere so umsetzen lassen, dass jedes Gehege die gewünschte Tierart enthält, gib possible aus. Andernfalls gib impossible aus.

Beispiele

Eingabe 1

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

Ausgabe 1

possible

Eingabe 2

2 1
1 2
2 1
1 2

Ausgabe 2

impossible

Eingabe 3

5 6
10 40
20 30
30 50
40 20
50 10
1 2
2 3
1 3
3 4
3 5
4 5

Ausgabe 3

possible

Eingabe 4

4 4
10 10
10 20
20 10
20 20
1 2
2 3
3 4
1 4

Ausgabe 4

impossible

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.