Skip to content

道路網の整備 2 (Road Service 2)

Unrated
日本語

Language

Contribute a translation
Time limit
3000 ms
Memory limit
1024 MB
Submissions
0
Correct
0
Solved by
0
AC rate
—

Statement

JOI 市には,無限に長い \(H\) 本の東西方向の道路と \(W\) 本の南北方向の道路からなる格子状の道路網がある.北から \(i\) 本目 (\(1 \leqq i \leqq H\)) の東西方向の道路と,西から \(j\) 本目 (\(1 \leqq j \leqq W\)) の南北方向の道路が交わる交差点を交差点 \((i, j)\) と呼ぶことにする.

現在,道路の一部は整備不良により通行止めになっている.具体的な通行止めの状況は以下の通りである.

  • 北から \(i\) 本目 (\(1 \leqq i \leqq H\)) の東西方向の道路の,交差点 \((i, j)\) と交差点 \((i, j + 1)\) を繋ぐ部分 (\(1 \leqq j \leqq W - 1\)) は,\(A_{i, j} = 0\) のとき通行止めで,\(A_{i, j} = 1\) のとき通行可能である.
  • 西から \(j\) 本目 (\(1 \leqq j \leqq W\)) の南北方向の道路の,交差点 \((i, j)\) と交差点 \((i + 1, j)\) を繋ぐ部分 (\(1 \leqq i \leqq H - 1\)) は,\(B_{i, j} = 0\) のとき通行止めで,\(B_{i, j} = 1\) のとき通行可能である.
  • 道路のその他の部分,すなわち \(H \times W\) 個の交差点の外側の部分はすべて通行止めである.

JOI 市の市長である K 理事長は,この道路網の整備計画を作ることにした.整備計画は,\(0\) 回以上の整備からなる. \(1\) 回の整備では,\(1 \leqq i \leqq H\) を満たす整数 \(i\) を \(1\) つ選び,以下のことを行う:

\(1 \leqq j \leqq W - 1\) を満たすすべての整数 \(j\) について,北から \(i\) 本目の東西方向の道路の,交差点 \((i, j)\) と交差点 \((i, j + 1)\) を繋ぐ部分を(もし通行止めであれば)通行可能にする.これには全体で \(C_i\) 日間かかる.ただし,\(C_i\) は \(1\) または \(2\) である.

整備計画に含まれる複数の整備を同時に並行して行うことはできない.したがって,整備計画の実行に必要な日数は,整備計画に含まれるすべての整備にかかる日数の合計である.

K 理事長は,まず市の重要施設の間を行き来できるようにするため,あなたに \(Q\) 個の質問をした. \(k\) 個目 (\(1 \leqq k \leqq Q\)) の質問は以下のようなものである.

\(T_k\) 個の交差点 \((X_{k, 1}, Y_{k, 1}), (X_{k, 2}, Y_{k, 2}), \dots, (X_{k, T_k}, Y_{k, T_k})\) の間を,道路の通行可能な部分のみを通って行き来できるようにするような整備計画は存在するか. 存在するならば,そのような整備計画の実行に必要な日数として考えられる最小値は何日間か.

道路網の通行止めの状況,東西方向の各道路の整備にかかる日数,K 理事長の質問の内容が与えられたとき,K 理事長の質問にすべて答えるプログラムを作成せよ.

Input

入力は以下の形式で標準入力から与えられる.

\(H\) \(W\) \(Q\)
\(A_{1,1}A_{1,2}\cdots A_{1,W - 1}\)
\(A_{2,1}A_{2,2}\cdots A_{2,W - 1}\)
\(\vdots\)
\(A_{H,1}A_{H,2}\cdots A_{H,W - 1}\)
\(B_{1,1}B_{1,2}\cdots B_{1,W}\)
\(B_{2,1}B_{2,2}\cdots B_{2,W}\)
\(\vdots\)
\(B_{H - 1,1}B_{H - 1,2}\cdots B_{H - 1,W}\)
\(C_1\) \(C_2\) \(\cdots\) \(C_H\)
\(\mathrm{Query}_1\)
\(\mathrm{Query}_2\)
\(\vdots\)
\(\mathrm{Query}_Q\)

ただし,各 \(\mathrm{Query}_k\) (\(1 \leqq k \leqq Q\)) は以下の形式である.

\(T_k\)
\(X_{k,1}\) \(Y_{k,1}\)
\(X_{k,2}\) \(Y_{k,2}\)
\(\vdots\)
\(X_{k,T_k}\) \(Y_{k,T_k}\)

Output

標準出力に \(Q\) 行で出力せよ.\(k\) 行目 (\(1 \leqq k \leqq Q\)) には,\(T_k\) 個の交差点 \((X_{k, 1}, Y_{k, 1}), (X_{k, 2}, Y_{k, 2}), \dots, (X_{k, T_k}, Y_{k, T_k})\) の間を, 道路の通行可能な部分のみを通って行き来できるようにするような整備計画が存在するならば,そのような整備計画の実行に必要な日数の最小値を出力し,そうでないならば -1 を出力せよ.

Constraints

  • \(2 \leqq H\).
  • \(2 \leqq W\).
  • \(H \times W \leqq 1\,000\,000\).
  • \(1 \leqq Q \leqq 100\,000\).
  • \(A_{i, j}\) は \(0\) または \(1\) (\(1 \leqq i \leqq H, 1 \leqq j \leqq W - 1\)).
  • \(B_{i, j}\) は \(0\) または \(1\) (\(1 \leqq i \leqq H - 1, 1 \leqq j \leqq W\)).
  • \(C_i\) は \(1\) または \(2\) (\(1 \leqq i \leqq H\)).
  • \(2 \leqq T_k\) (\(1 \leqq k \leqq Q\)).
  • \(T_1 + T_2 + \cdots + T_Q \leqq 200\,000\).
  • \(1 \leqq X_{k, l} \leqq H\) (\(1 \leqq k \leqq Q, 1 \leqq l \leqq T_k\)).
  • \(1 \leqq Y_{k, l} \leqq W\) (\(1 \leqq k \leqq Q, 1 \leqq l \leqq T_k\)).
  • \((X_{k, 1}, Y_{k, 1}), (X_{k, 2}, Y_{k, 2}), \dots, (X_{k, T_k}, Y_{k, T_k})\) は相異なる (\(1 \leqq k \leqq Q\)).
  • 入力される値はすべて整数である.

Subtasks

  1. (\(10\) 点) \(C_i = 1\) (\(1 \leqq i \leqq H\)),\(Q \leqq 5\),\(T_k = 2\) (\(1 \leqq k \leqq Q\)),\(A_{i, j} = 0\) (\(1 \leqq i \leqq H, 1 \leqq j \leqq W - 1\)).
  2. (\(6\) 点) \(C_i = 1\) (\(1 \leqq i \leqq H\)),\(Q \leqq 5\),\(T_k = 2\) (\(1 \leqq k \leqq Q\)).
  3. (\(15\) 点) \(C_i = 1\) (\(1 \leqq i \leqq H\)),\(Q \leqq 5\).
  4. (\(11\) 点) \(C_i = 1\) (\(1 \leqq i \leqq H\)),\(T_k = 2\) (\(1 \leqq k \leqq Q\)).
  5. (\(6\) 点) \(C_i = 1\) (\(1 \leqq i \leqq H\)).
  6. (\(12\) 点) \(Q \leqq 5\).
  7. (\(26\) 点) \(T_k = 2\) (\(1 \leqq k \leqq Q\)).
  8. (\(14\) 点) 追加の制約はない.

Examples

Sample input 1
4 3 4
00
00
00
00
100
001
000
1 1 1 1
2
1 1
3 3
2
3 1
1 2
2
2 3
3 3
2
4 2
3 2
Sample output 1
1
3
0
-1

以下の図は,現在の通行止めの状況である.灰色は通行止めを表し,青色は通行可能を表している.

  • \(1\) 個目の質問では,整数 \(i\) として \(2\) を選ぶような整備を行うと通行止めの状況は下図のようになり,交差点 \((1, 1), (3, 3)\) の間を互いに行き来できるようになる.

    この \(1\) 回の整備のみからなる整備計画の実行に必要な日数は \(1\) であり,これより少ない日数で交差点 \((1, 1), (3, 3)\) の間を互いに行き来できるようにするような整備計画は存在しないため,\(1\) を出力する.
  • \(2\) 個目の質問では,整数 \(i\) としてそれぞれ \(1, 2, 3\) を選ぶような \(3\) 回の整備を行うと,交差点 \((3, 1), (1, 2)\) の間を互いに行き来できるようになる. この \(3\) 回の整備からなる整備計画の実行に必要な日数は \(3\) であり,これより少ない日数で交差点 \((3, 1), (1, 2)\) の間を互いに行き来できるようにするような整備計画は存在しないため,\(3\) を出力する.
  • \(3\) 個目の質問では,整備を \(1\) 回も行わなくても交差点 \((2, 3), (3, 3)\) の間を互いに行き来できるので,\(0\) を出力する.
  • \(4\) 個目の質問では,交差点 \((4, 2), (3, 2)\) の間を互いに行き来できるようにするような整備計画は存在しないため,\(-1\) を出力する.

この入力例は小課題 \(1, 2, 3, 4, 5, 6, 7, 8\) の制約を満たす.

Sample input 2
4 4 4
100
110
011
010
0010
1001
0101
1 1 1 1
2
1 2
3 1
2
1 4
4 1
2
3 2
1 2
2
4 3
1 1
Sample output 2
1
3
2
2

この入力例は小課題 \(2, 3, 4, 5, 6, 7, 8\) の制約を満たす.

Sample input 3
7 3 3
10
00
00
10
00
01
00
110
101
011
001
110
100
1 1 1 1 1 1 1
3
7 2
3 1
3 2
3
3 1
6 3
2 3
7
2 2
1 3
7 3
5 2
1 2
7 2
3 1
Sample output 3
3
2
4

この入力例は小課題 \(3, 5, 6, 8\) の制約を満たす.

Sample input 4
4 3 3
00
00
10
00
110
011
001
1 2 2 2
2
1 1
3 1
2
4 3
2 1
2
4 1
1 3
Sample output 4
1
2
5

この入力例は小課題 \(6, 7, 8\) の制約を満たす.

Sample input 5
7 3 2
01
00
00
00
00
10
01
100
110
011
001
101
001
1 1 2 1 1 2 2
3
7 2
1 3
5 1
5
1 1
2 2
3 1
2 3
4 2
Sample output 5
4
1

この入力例は小課題 \(6, 8\) の制約を満たす.

Notes

Tags

No tags yet

Source