반응형
https://www.acmicpc.net/problem/1358
1358번: 하키
첫째 줄에 수 W H X Y P가 주어진다. P는 선수의 수이다. W와 H는 100보다 작거나 같은 자연수이고, H는 짝수이다. X와 Y는 절댓값이 100보다 작거나 같은 정수이다. P는 최대 50인 자연수이다. 둘째 줄부
www.acmicpc.net
- 문제
하키장 모양의 도형의 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 |