[BOJ]1358 하키

문제링크


풀이

가운데 직사각형 기준으로 왼쪽 반원에 포함될 때 카운트, 가운데 직사각형에 포함될 때 카운트, 오른쪽 반원에 포함될 때 카운트.

소스코드

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
#include <stdio.h>
 
 
int main(void)
{
    int W, H, X, Y, P;
    int count = 0;
    scanf("%d %d %d %d %d"&W, &H, &X, &Y, &P);
    while (P--)
    {
        int a, b;
        scanf("%d %d"&a, &b);
        if ((a - X)*(a - X) + (b - (Y + H / 2))*(b - (Y + H / 2)) <= (H / 2)*(H / 2&& a < X)
            count++;
        else if (X <= a&&<= X + W&&<= b&&<= Y + H)
            count++;
 
 
 
        else if ((a - (X + W))*(a - (W + X)) + (b - (Y + H / 2))*(b - (Y + H / 2)) <= (H / 2)*(H / 2&& X + W < a)
            count++;
    }
    printf("%d", count);
    return 0;
 
    
}
cs


이미지 맵

BOJ 다른 글

이전 글

다음 글