ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C언어] (기타) 준오선배가 시키신 정올초등지역본선 2번문제(2007)
    예제/기타 2016. 3. 30. 23:07
    반응형

    http://59.23.113.171/pool/koi_Epaper/koi_Epaper.php?pname=koi_Epaper


    코드 : 

    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
    34
    35
    #include <stdio.h>
     
    int main(){
        int xy[100][100]={{0,},};
        int k, i, j;
        int nulbi=0;
     
        int square_num, input_1, input_2;//input_1는 왼쪽거리 input_2는 아래거리
     
        scanf("%d", &square_num);
        fflush(stdin);
        
     
        for(k=0; k<square_num; ++k){
            scanf("%d %d", &input_1, &input_2);
     
            for(i=input_2-1; i<input_2+9++i){
                for(j=input_1-1; j<input_1+9++j){
                    xy[i][j]+=1;
                }
            }
        }
     
        for(i=0; i<100++i){
            for(j=0; j<100++j){
                if(xy[i][j]>=1){
                    nulbi+=xy[i][j];
                }
                if(xy[i][j]>1){
                    nulbi-=xy[i][j]-1;
                }
            }
        }
        printf("%d", nulbi);
    }
    cs



    설명 : 겹치는 우선 생성되는 사각형들의 넓이를 겹치는거 상관없이 모두 더함. 이 값을 nulbi에 저장.

      겹치는 만큼 +1을 하도록 만들었으니 그 겹치는 만큼-1을 해서 한겹만 남겨두고 나머지는 다 넓이에서 뺀다.

      그러면 값이 제대로 나온다.

    반응형

    댓글

Designed by Tistory.