RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R02136

겹쳐 찍은 도장 자국

Bronze II 브론즈 II
난이도
2s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

\(N\)\(M\)열의 흰 종이에 직사각형 도장 \(K\)개를 차례로 찍는다. \(i\)번째 도장은 왼쪽 위 칸 \((r_{1}, c_{1})\)부터 오른쪽 아래 칸 \((r_{2}, c_{2})\)까지의 직사각형 영역을 모두 검게 물들인다. 도장끼리 겹칠 수 있다.

\(K\)개의 도장을 모두 찍은 뒤, 검게 물든 칸(한 번이라도 도장이 닿은 칸)이 모두 몇 개인지 구하여라. 행과 열은 각각 \(1\)부터 \(N\), \(1\)부터 \(M\)까지이다.

제약

\(1 \le N, M \le 500\), \(1 \le K \le 20\), \(1 \le r_1 \le r_2 \le N\), \(1 \le c_1 \le c_2 \le M\)

입력 형식

첫째 줄에 \(N\), \(M\), 도장의 개수 \(K\)가 주어진다.
다음 \(K\)개의 줄에 각각 도장의 왼쪽 위와 오른쪽 아래 좌표 \(r_1\), \(c_1\), \(r_2\), \(c_2\)가 주어진다. \(r_1 \le r_2\), \(c_1 \le c_2\)이다.

출력 형식

검게 물든 칸의 개수를 출력한다.

예제 1
입력
4 4 2
1 1 2 2
2 2 3 3
출력
7
설명

두 도장은 \((2,2)\) 한 칸에서 겹친다. 각각 \(4\)칸이므로 합집합은 \(4+4-1 = 7\)칸이다.

예제 2
입력
3 3 1
1 1 3 3
출력
9
설명

도장 하나가 판 전체를 덮으므로 자국은 \(9\)칸이다.

문제 정보

riseoj 작성

출처 Original

평가 및 의견

겹쳐 찍은 도장 자국

개요
출제자 난이도 Bronze II 브론즈 II 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

겹쳐 찍은 도장 자국

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8