QOJ.ac

QOJ

実行時間制限: 5 s メモリ制限: 2048 MB 満点: 100

#8686. Pengelolaan Kebun Binatang

統計

Saat mengelola kebun binatang, terkadang kamu ingin memindahkan hewan antarkandang. Kamu mungkin menyadari bahwa zebra akan menyukai kandang lebih luas yang sekarang ditempati penguin, sedangkan penguin ingin pindah ke kandang lebih dingin tempat koala tinggal; dan koala akan pindah ke kandang kosong yang dapat diisi eukaliptus. Jadi kamu memindahkan koala terlebih dahulu untuk mengosongkan kandang dingin, lalu memindahkan penguin ke sana, dan akhirnya memindahkan zebra.

Cara memindahkan hewan adalah melalui terowongan khusus yang menghubungkan kandang. Kamu tidak ingin hewan bergerak di luar, baik karena risiko mereka ketakutan maupun karena risiko mereka melarikan diri dan terluka.

problem_8686_a2a053ee36bb78fadb0dd8509481feee.png

Foto kebun binatang dengan seekor unta, seekor keledai, dan (sebagian dari) seekor kambing.

Sayangnya, kamu baru-baru ini memperoleh lebih banyak hewan, dan semua kandang kini penuh sehingga pemindahan jauh lebih sulit. Misalkan, misalnya, koala harus pindah ke bekas kandang zebra: kamu tidak dapat memindahkan kelompok hewan mana pun terlebih dahulu. Sebagai gantinya, kamu belajar memindahkan hewan secara bersamaan: zebra, koala, dan penguin mulai menyusuri terowongan berbeda pada saat yang sama dan tiba di kandang baru pada saat yang sama, sehingga mereka tidak pernah bertemu. Perhatikan bahwa kamu tidak bisa sekadar menukar hewan di dua kandang yang terhubung dengan cara ini (karena mereka akan bertemu di terowongan dan ketakutan).

Sekarang kamu memiliki teka-teki. Ada daftar kandang, masing-masing berisi satu jenis hewan; beberapa kandang terhubung oleh terowongan. Kamu boleh, berapa kali pun, memilih sekumpulan hewan dan memindahkan masing-masing ke kandang yang bertetangga melalui terowongan, asalkan hewan di kandang tujuan juga dipindahkan dalam langkah yang sama, dan tidak ada terowongan yang digunakan lebih dari sekali dalam langkah itu. Kamu juga memiliki gambaran penempatan hewan yang sempurna. Apakah penempatan itu bisa dicapai melalui serangkaian langkah?

Masukan

Baris pertama masukan terdiri dari dua bilangan bulat $n$ ($1 \le n \le 4 \cdot 10^5$) dan $m$ ($0 \le m \le 4 \cdot 10^5$), yang menunjukkan banyaknya kandang dan terowongan. Berikutnya ada $n$ baris, dengan baris ke-$i$ berisi dua bilangan bulat $b_i$ ($1 \le b_i \le 10^6$) dan $e_i$ ($1 \le e \le 10^6$), yang menunjukkan jenis hewan di kandang $i$ pada awalnya dan jenis hewan yang diinginkan di kandang $i$ setelah semua langkah. Kamu boleh mengasumsikan bahwa $e_1, \ldots, e_n$ adalah permutasi dari $b_1, \ldots, b_n$.

Berikutnya ada $m$ baris yang mendeskripsikan terowongan. Setiap baris berisi dua bilangan bulat $x$ dan $y$ ($1 \le x < y \le n$), yang menunjukkan bahwa kandang $x$ dan $y$ terhubung oleh terowongan dua arah. Tidak ada dua kandang yang terhubung oleh lebih dari satu terowongan.

Keluaran

Jika hewan dapat dipindahkan sehingga setiap kandang berisi jenis hewan yang diinginkan, keluarkan possible. Jika tidak, keluarkan impossible.

Contoh

Masukan 1

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

Keluaran 1

possible

Masukan 2

2 1
1 2
2 1
1 2

Keluaran 2

impossible

Masukan 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

Keluaran 3

possible

Masukan 4

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

Keluaran 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.