QOJ.ac

QOJ

Limite de temps : 2 s Limite de mémoire : 1024 MB Points totaux : 100

#7890. 送別

Statistiques

法珞是一個怕黑的女孩子。

傍晚了,法珞所參加的學術會議早已散會。黎瑟也下了課過來接法珞回火車站。

但是教學樓裡突然斷電了,法珞陷入了一片漆黑之中。

好在黎瑟已經到了教學樓的同一層。

然而由於教學樓的結構過於複雜,她們已經記不起教學樓的具體結構了。黎瑟學校的教學樓每層的結構都非常工整。

形式化地說,教學樓的一層的平面結構可以畫在二維平面上以 $(0,0)$ 為左上角頂點,$(n,m)$ 為右下角頂點的子矩形(記為 $(0,0) - (n,m)$ 的矩形)裡,這個子矩形的四條邊是教學樓的樓體(或者說是四段已知一定存在的牆)。

請注意,本題中的座標系和普通的平面直角座標系不同,$(0,0)$ 是左上角的頂點而 $(n,m)$ 是右下角的頂點。$(i,j)$ 表示的是第 $i+1$ 行第 $j+1$ 列的頂點而不是橫座標為 $i$ 縱座標為 $j$ 的頂點。

每一段牆(無法通過的部分)是一條端點為 $(i,j)$ 和 $(i',j')$ 的線段,記作 $(i,j) - (i',j')$ 的牆,其中 $|i-i'| + |j-j'| = 1$ 且 $i,i'$ 是 $[0,n]$ 中的整數,$j,j'$ 是 $[0,m]$ 中的整數(每當我們之後使用 $(i,j) - (i',j')$ 的記法,我們都保證滿足上述所有條件)。

法珞知道,對於這種結構,有一種辦法可能讓她找到黎瑟:法珞用左手扶住牆,手臂和牆面垂直,保持這個狀態向前方走,在轉彎處也保持左手一直扶牆的狀態。按照這個方法她就可以環繞一週,可能與黎瑟相遇。

法珞一開始會給你需要維護的初始的(這層樓的)結構,之後會給你 $q$ 個請求。

  • 操作 $1$:讀入格式形如 $1\ x_0\ y_0\ x_1\ y_1$:法珞請求在當前結構裡添加一段 $(x_0, y_0) - (x_1, y_1)$ 的牆,保證此前這段牆不存在且這段牆不在 $(0, 0)-(n, m)$ 的子矩形的四條邊上。
  • 操作 $2$:讀入格式形如 $2\ x_0\ y_0\ x_1\ y_1$ 法珞請求在當前結構裡刪除一段 $(x_0,y_0) - (x_1,y_1)$ 的牆,保證此前這段牆存在且這段牆不在 $(0,0) - (n,m)$ 的子矩形的四條邊上。
  • 操作 $3$:讀入形如 $3\ x_0\ y_0\ x_1\ y_1\ d_0\ x_2\ y_2\ x_3\ y_3\ d_1$:法珞當前在 $(x_0,y_0) - (x_1,y_1)$ 的牆的中點位置 $(\frac{x_0+x_1}{2},\frac{y_0 + y_1}{2})$,$d_0$ 是一個 $[0,1]$ 中的整數,用來描述法珞在牆的哪一側,$d_0 = 0$ 代表法珞在牆的左方/上方,$d_0 = 1$ 代表右方/下方。黎瑟當前在 $(x_2,y_2) - (x_3,y_3)$ 的牆的中點位置 $(\frac{x_2+x_3}{2},\frac{y_2+y_3}{2})$。$d_1$ 的格式和 $d_0$ 相同。保證 $(x_0,y_0) - (x_1,y_1)$ 和 $(x_2,y_2) - (x_3,y_3)$ 這兩段牆存在,且法珞和黎瑟的位置都落在 $(0,0) - (n,m)$ 的子矩形的內部。求法珞按照題目所述的方法找到黎瑟要走過多少長度($(i,j) - (i',j')$ 這段牆的長度為 $1$,半段牆(由於起點和終點都在牆的中點處)的長度是 $\frac{1}{2}$)。

輸入格式

輸入共 $2n+q$ 行。

第一行三個整數 $n,m,q$,意義如題目中所示。

接下來的 $n$ 行,每行 $m-1$ 個 $[0,1]$ 中的整數,第 $i$ 行第 $j$ 列的整數為 $1$ 表示 $(i,j) - (i-1,j)$ 這一段有牆,為 $0$ 則表示 $(i,j) - (i-1,j)$ 這一段沒有牆。

接下來的 $n-1$ 行,每行 $m$ 個 $[0,1]$ 中的整數,第 $i$ 行第 $j$ 列的整數為 $1$ 表示 $(i,j) - (i,j-1)$ 這一段有牆,為 $0$ 則表示 $(i,j) - (i,j-1)$ 這一段沒有牆。

接下來的 $q$ 行,每行一個操作,格式如題目中所示。

輸出格式

對於每個詢問,輸出法珞按照題目所述的方法找到黎瑟要走過多少長度,如果法珞按照題目所述的方法無法找到黎瑟則輸出 $\mathbf{-1}$。

範例

範例輸入 1

3 3 4
0 0
1 0
0 0
1 0 1
0 0 1
3 3 0 3 1 0 0 3 1 3 0
1 2 1 2 0
2 1 0 1 1
3 2 2 2 3 1 1 2 1 3 0

範例輸出 1

11
16

說明 1

上圖是範例輸入中第一次詢問的法珞的行走方案,在行走過程中法珞的左手必須貼住牆。

子任務

對於 $10\%$ 的資料,$5\le n, m\le 50, 1\le q\le 2\times 10^3$。

對於另外 $30\%$ 的資料,沒有 $1$ 操作。

對於另外 $30\%$ 的資料,保證在任意時刻若法珞和黎瑟站在任意輸入格式中合法的位置,法珞都可以和黎瑟相遇。

對於 $100\%$ 的資料,$5\le n, m\le 500, 1\le q\le 2\times 10^5$。

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.