QOJ.ac

QOJ

Time Limit: 5.0 s Memory Limit: 1024 MB Total points: 100 Hackable ✓

#9297. Labirin

Statistics

Karena soal-soal yang menantang, beberapa peserta memutuskan untuk melarikan diri dari kontes ini. Namun, untuk mencegah hal itu, para pembuat soal yang JAHAT membuat labirin di pintu keluar stadion. Labirin tersebut berupa petak-petak berukuran $n \times m$, yang memiliki pintu masuk, pintu keluar, dan $k$ lubang hitam. Peserta yang tidak sengaja menginjak lubang hitam mana pun akan jatuh ke dalamnya sehingga tidak akan pernah dapat melarikan diri dari kontes.

Lebih buruk lagi, para pembuat soal juga dapat mengubah koordinat pintu masuk dan pintu keluar. Anda, peserta malang yang mulai dari pintu masuk dan ingin mencapai pintu keluar tanpa menginjak lubang hitam mana pun, hanya dapat bergerak ke salah satu dari empat petak yang bertetangga pada setiap langkah. Anda ingin mengetahui, setelah setiap kali para pembuat soal mengubah koordinat pintu masuk dan pintu keluar, berapa jumlah minimum langkah yang diperlukan untuk mencapai pintu keluar dari pintu masuk?

Masukan

Baris pertama masukan berisi empat bilangan bulat $n,m,k,q$ ($1 \le n,m \le 200\,000$, $nm \le 200\,000$, $0 \le k \le 42$, $1 \le q \le 100\,000$), yang berturut-turut menyatakan banyaknya baris, banyaknya kolom, banyaknya lubang hitam dalam labirin, dan banyaknya kueri.

Sebanyak $k$ baris berikutnya berisi deskripsi lubang-lubang hitam. Setiap baris berisi dua bilangan bulat $x,y$ ($1 \le x \le n$, $1 \le y \le m$), yang menyatakan koordinat sebuah lubang hitam. Tidak ada dua lubang hitam yang terletak di posisi yang sama.

Sebanyak $q$ baris terakhir berisi deskripsi kueri. Setiap dari $q$ baris berisi empat bilangan bulat $x_s,y_s,x_t,y_t$ ($1 \le x_s,x_t \le n$, $1 \le y_s,y_t \le m$), dengan $(x_s,y_s)$ merupakan koordinat pintu masuk dan $(x_t,y_t)$ merupakan koordinat pintu keluar.

Keluaran

Untuk setiap kueri, keluarkan sebuah bilangan pada satu baris yang menyatakan jumlah minimum langkah yang diperlukan untuk mencapai pintu keluar dari pintu masuk. Jika pintu keluar tidak mungkin dicapai, keluarkan $-1$. Hal ini harus dianggap mustahil jika pintu masuk atau pintu keluar berimpit dengan sebuah lubang hitam.

Contoh

Masukan 1

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

Keluaran 1

6
0
-1
4
-1
5
-1

Masukan 2

2 3 2 1
1 2
2 1
1 1 2 3

Keluaran 2

-1

Catatan

Gambar labirin dan kueri pertama pada contoh data pertama ditunjukkan di bawah.

problem_9297_e29252c76e1948daaf923bdff06c23e3.png

(a) Labirin. (b) Salah satu lintasan terpendek yang mungkin untuk kueri pertama.

Keterangan: pintu masuk, pintu keluar, lubang hitam, satu langkah.

Gambar 1: Ilustrasi untuk contoh data uji.

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#222EditorialOpen题解jianglyView

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.