Logo
(追記) (追記ここまで)

31892번 - Zoo Management 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
5 초 1024 MB66171424.561%

문제

When managing a zoo, you sometimes want to move the animals between enclosures. You might figure out that the zebras will enjoy the spacier enclosure currently occupied by the penguins, while the penguins might want to move to the colder enclosure where the koalas currently live; and koalas will move to an empty enclosure that can be filled up with eucalyptus. So, you would move the koalas first, to free up the colder enclosure, then move the penguins there, and finally move the zebras.

The way you move animals is by using special tunnels that connect the enclosures — you do not want the animals to move outside, both because of the risk that they will be scared, and because of the risk that they might run away and hurt themselves.

Unfortunately, you have acquired more animals recently, and all the enclosures are now full, which makes moving animals around much harder. Imagine, for instance, that the koalas were to move to the former zebra enclosure — you cannot move any set of animals first. Instead, what you learned to do, is to move the animals at the same time — the zebras, koalas and penguins start moving down different tunnels at the same time, and arrive at their new enclosures at the same time — and thus they never meet. Note that you cannot just swap the animals in two connected enclosures this way (because they would meet in the tunnel and become scared).

So, now you have a puzzle. You have a list of enclosures, each with an animal type inside; some of those enclosures are connected by tunnels. You can, any number of times, choose some set of animals and move each one to an enclosure adjacent by tunnel, as long as the animal in that enclosure is also moved as the part of the same move, and no tunnel is used more than once as a part of the same move. You also have your vision of the perfect way to position the animals. Is it possible to do so, in a series of moves?

입력

The first line of the input consists of two integers $n$ (1ドル ≤ n ≤ 4 \cdot 10^5$) and $m$ (0ドル ≤ m ≤ 4 \cdot 10^5$), indicating the number of enclosures and tunnels. Then follow $n$ lines, the $i$th of which contains two integers $b_i$ (1ドル ≤ b_i ≤ 10^6$) and $e_i$ (1ドル ≤ e ≤ 10^6$), indicating the type of animal that is in enclosure $i$ at the beginning, and the type of animal that you want to be in enclosure $i$ after all the moves. You may assume that $e_1, \dots , e_n$ is a permutation of $b_1, \dots , b_n$.

Then follow $m$ lines describing the tunnels. Each line contains two integers $x$ and $y$ (1ドル ≤ x < y ≤ n$), indicating that enclosures $x$ and $y$ are connected by a two-way tunnel. No two enclosures are connected by more than one tunnel.

출력

If it is possible to move the animals so that every enclosure contains the desired animal type, output possible. Otherwise, output impossible.

제한

예제 입력 1

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

예제 출력 1

possible

예제 입력 2

2 1
1 2
2 1
1 2

예제 출력 2

impossible

예제 입력 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

예제 출력 3

possible

예제 입력 4

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

예제 출력 4

impossible

힌트

출처

ICPC > World Finals > ICPC World Finals 2022 R번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /