728x90
시간 제한 : 1초
메모리 제한 : 128MB
입력
입력은 네 줄이며, 각 줄은 직사각형의 위치를 나타내는 네 개의 정수로 주어진다. 첫 번째와 두 번째의 정수는 사각형의 왼쪽 아래 꼭지점의 x좌표, y좌표이고 세 번째와 네 번째의 정수는 사각형의 오른쪽 위 꼭지점의 x좌표, y좌표이다. 모든 x좌표와 y좌표는 1이상이고 100이하인 정수이다.
출력
첫 줄에 네개의 직사각형이 차지하는 면적을 출력한다.
소스코드
#include <iostream> using namespace std; int main(void) { int d[101][101] = { 0, }, sum = 0; int x1, y1, x2, y2; for(int i=0;i<4;i++) { cin >> x1 >> y1 >> x2 >> y2; for (int i = x1; i < x2; i++) for (int j = y1; j < y2; j++) d[i][j]++; } for (int i = 0; i <= 100; i++) for (int j = 0; j <= 100; j++) if (d[i][j]) sum++; cout << sum; }
Tip
문제의 제한 조건이 그렇게 빡빡하지 않기 때문에 2차원 배열에 직사각형을 매핑하고 그 영역들을 계산하는 형식으로 문제를 풀어도 정답으로 인정받을 수 있다.
728x90
'Computer Science > Algorithm Problem' 카테고리의 다른 글
백준] 13699 - 점화식(홍익대학교 프로그래밍 경진대회 2016) (0) | 2018.04.17 |
---|---|
백준] 1011- Fly me to the Alpha Centauri (0) | 2018.04.16 |
백준] 1904 - 01타일 (0) | 2018.04.13 |
백준] 1193 - 분수찾기 (0) | 2018.04.10 |
백준] 1712 - 손익분기점 (0) | 2018.04.09 |