반응형
문제 출처 :
https://www.acmicpc.net/problem/14732
알고리즘 분석 :
문제 해결에 필요한 사항
1. 구현
2. 배열
행사장 대여 Small 문제는 배열만 이용하면 범위가 작기에 쉽게 해결 할 수 있다.
인풋으로 주어지는 가로, 세로 범위를 arr배열에 true로 바꿔주고 정답을 찾을 때 arr 배열의 true개수를 찾아주면
겹치는 구간까지 모두 제거한 상태로 결과값을 얻을 수 있다.
소스 코드 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include <iostream> #include <cstdio> using namespace std; bool arr[502][502]; int main() { int n; scanf("%d",&n); for (int i = 0; i < n; i++) { int a, b, c, d; scanf("%d %d %d %d", &a, &b, &c, &d); for (int x = a; x < c; x++) for (int y = b; y < d; y++) arr[x][y] = true; } int cnt = 0; for (int i = 0; i <= 500; i++) for (int j = 0; j <= 500; j++) if (arr[i][j]) cnt++; printf("%d",cnt); return 0; } // This source code Copyright belongs to Crocus // If you want to see more? click here >> | Crocus |
반응형
'Applied > 알고리즘 문제풀이' 카테고리의 다른 글
[14606번] 피자 (Small) (0) | 2018.01.17 |
---|---|
[14726번] 신용카드 판별 (0) | 2018.01.15 |
[2660번] 회장 뽑기 (0) | 2018.01.14 |
[14953번] 2017 아주대학교 프로그래밍 경시대회 (Large) (0) | 2018.01.14 |
[14592번] 2017 아주대학교 프로그래밍 경시대회 (Small) (0) | 2018.01.14 |