예제/기타
[C언어] (기타) 준오선배가 시키신 정올초등지역본선 2번문제(2007)
Mosu(정종인)
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을 해서 한겹만 남겨두고 나머지는 다 넓이에서 뺀다.
그러면 값이 제대로 나온다.
반응형