맛있는감귤

BOJ : 2477 참외밭 본문

알고리즘/백준 알고리즘

BOJ : 2477 참외밭

맛있는감귤 2017. 1. 19. 14:27

문제 : https://www.acmicpc.net/problem/2477

github : https://github.com/JEONG-SEUNGWOOK/BOJ/blob/master/2477.cpp

출처

Olympiad 한국정보올림피아드시․도지역본선 지역본선 2010 초등부 3번

Olympiad > 한국정보올림피아드시․도지역본선 > 지역본선 2010 > 중등부 2번

가장 긴 width와 height 값의 곱이 전체 사각형 넓이가 되고 양 옆의 테두리가 평행하다면 그 가운데에 놓인 테두리가 작은 사각형을 이루는 테두리다.

그 값 계산해 빼주면 전체 넓이가 나온다.


#include <cstdio>
#include <algorithm>
using namespace std;
struct Length{
    int l=0, d=0;
};
int main(){
    int K, N=6, square=0;
    scanf("%d",&K);
    
    Length len[6], hMax, wMax, side1, side2;
    for(int i=0;i<N;i++){
        int a,b;
        scanf("%d%d",&b,&a);
        len[i].l = a;
        len[i].d = b;
        
        
        if(b==3 || b==4) {
            if(hMax.l < a){
                hMax.l = a;
            }
        }
        if(b==1 || b==2) {
            if(wMax.l < a){
                wMax.l = a;
            }
        }
    }
    for(int i=1;i<=N+3;i++){
        if(len[(i-1)%N].d==len[(i+1)%N].d && len[i%N].d==len[(i+2)%N].d){
            side1.l=len[i%N].l;
            side2.l=len[(i+1)%N].l;
            break;
        }
    }
    square = (wMax.l*hMax.l) - (side1.l*side2.l);
    printf("%d",square*K);
}

'알고리즘 > 백준 알고리즘' 카테고리의 다른 글

BOJ : 2468 안전 영역  (4) 2017.02.04
BOJ : 12790 Mini Fantasy War  (0) 2017.02.03
BOJ : 2458 키 순서  (0) 2017.01.19
BOJ : 2346 풍선 터뜨리기  (0) 2017.01.19
BOJ : 2302 극장 좌석  (0) 2017.01.19