반응형
https://www.acmicpc.net/problem/1358
- 문제
하키장 모양의 도형의 x,y 좌표가 주어질 때 하키장 내부에 하키 선수들이 몇명 있는지 구하는 문제다.
- 해설
1. 중앙의 네모 안에 하키 선수가 있을 경우
2. 좌측 동그라미에 하키 선수가 있을 경우
3. 우측 동그라미에 하키 선수가 있을 경우
이렇게 세가지 경우를 구하면 된다.
- 풀이
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int W, H, X, Y, P, tempx, tempy, answer = 0;
cin >> W >> H >> X >> Y >> P;
for (int i = 0; i < P; i++)
{
cin >> tempx >> tempy;
if (tempy >= Y && tempy <= Y + H)
{
if (tempx >= X && tempx <= X + W)
{
answer++;
}
else if (pow(X - tempx, 2) + pow((Y + H / 2) - tempy, 2) <= pow(H / 2, 2))
{
answer++;
}
else if (pow(X + W - tempx, 2) + pow((Y + H / 2) - tempy, 2) <= pow(H / 2, 2))
{
answer++;
}
}
}
cout << answer;
return 0;
}
- 새롭게 알게 된 점
X
반응형
'Algorithm > Baekjoon BOJ' 카테고리의 다른 글
[백준][C++] 1934 : 최소공배수 (0) | 2022.10.21 |
---|---|
[백준][C++] 5086 : 배수와 약수 (0) | 2022.10.21 |
[백준][C++] 2477 : 참외밭 (0) | 2022.10.21 |
[백준][C++] 11478 : 서로 다른 부분 문자열의 개수 (0) | 2022.10.21 |
[백준][C++] 1269 : 대칭 차집합 (0) | 2022.10.21 |