시간 제한메모리 제한제출정답맞힌 사람정답 비율
3 초 256 MB96532652.000%

문제

JOI 君はペーパークラフトが趣味である.今日も JOI 君はペーパークラフトの作品を作ろうとしている.

まず,JOI 君は設計図にしたがって 1 枚の長方形の紙に N 本の切り取り線を印刷した.各切り取り線は,紙の縦または横の辺に平行な線分である.

紙を切り出してできるすべての部分は作品の中で何らかの部品として用いられる.当然のことながら,部品数の多い作品は製作が大変である.JOI 君は,すべての切り取り線にしたがって紙を切り出したとき,紙がいくつの部分に分かれるかを知りたい.

紙の大きさと,N 本の切り取り線の情報が与えられる.これらの切り取り線にしたがって紙を切り分けたとき,紙がいくつの部分に分かれるかを求めるプログラムを作成せよ.

입력

標準入力から以下のデータを読み込め.

  • 1 行目には,整数 W, H, N が空白を区切りとして書かれている.W は紙の横の辺の長さを,H は紙の縦の辺の長さを,N は切り取り線の本数をそれぞれ表す.紙の左下,右下,左上,右上を,それぞれ座標 (0, 0), (W, 0), (0, H), (W, H) で表す.
  • 続く N 行のうちの i 行目 (1 ≤ i ≤ N) には,整数 Ai, Bi, Ci, Di (0 ≤ Ai ≤ Ci ≤ W, 0 ≤ Bi ≤ Di ≤ H) が空白を区切りとして書かれている.これは i 番目の切り取り線が (Ai, Bi) と (Ci, Di) を結ぶ線分であることを表す.この線分は紙のいずれかの辺に平行な線分である.すなわち,Ai = Ci と Bi = Di のうちのちょうど 1 つが成り立つ.また,ある切り取り線と,それに平行な他の切り取り線が共有点を持つことはなく,ある切り取り線と,それに平行な紙の辺が共有点を持つこともない.

출력

標準出力に,紙がいくつの部分に分かれるかを表す整数を 1 行で出力せよ.

제한

  • 1 ≤ W ≤ 1 000 000 000.
  • 1 ≤ H ≤ 1 000 000 000.
  • 1 ≤ N ≤ 100 000.

서브태스크 1 (5점)

  • W ≤ 1 000.
  • H ≤ 1 000.
  • N ≤ 1 000.

서브태스크 2 (5점)

  • N ≤ 1 000.

서브태스크 3 (20점)

共有点を持つような異なる 2 つの切り取り線の組の個数は,100 000 以下である.

서브태스크 4 (20점)

切り取り線上の任意の点から紙のある辺上の点まで,いくつかの切り取り線をたどって行くことができる.

서브태스크 5 (50점)

追加の制限はない.

예제 입력 1

10 10 5
6 0 6 7
0 6 7 6
2 3 9 3
2 3 2 10
1 9 8 9

예제 출력 1

4

この入力の場合,切り取り線は下図のようになる.

よって,切り取り線によって紙は 4 つの部分に分かれる.なお,この入力は小課題 4 の条件を満たしている.

예제 입력 2

13 7 28
1 1 4 1
1 1 1 3
2 2 3 2
2 2 2 3
1 3 2 3
3 2 3 6
4 1 4 6
3 6 4 6
5 1 8 1
5 1 5 6
6 2 7 2
6 2 6 5
7 2 7 5
6 5 7 5
8 1 8 6
5 6 8 6
9 1 12 1
9 1 9 2
9 2 10 2
12 1 12 2
11 2 12 2
10 2 10 5
9 5 10 5
9 5 9 6
11 2 11 5
11 5 12 5
12 5 12 6
9 6 12 6

예제 출력 2

5

この入力の場合,切り取り線は次ページの図のようになる.

よって,切り取り線によって紙は 5 つの部分に分かれる.なお,この入力は小課題 4 の条件を満たしていない.

출처

Olympiad > Japanese Olympiad in Informatics > JOI 2013/2014 5번

채점 및 기타 정보

  • 예제는 채점하지 않는다.