반응형
https://www.acmicpc.net/problem/8574
8574번: Ratownik
W pierwszym wierszu standardowego wejścia znajdują się liczby całkowite: $n$, $k$, $x$, $y$ ($1 ≤ n, k ≤ 100\,000$, $0 ≤ x, y ≤ 10\,000$) oznaczające kolejno: liczbę dzieci, zasięg wzroku ratownika oraz jego położenie. W następnych $n$
www.acmicpc.net
번역기에 함정이 있었던(?) 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
어린이의 수 n, 안전하지 않은 어린이 수 unSafeCnt, 구조요원의 시야 k, 위치들 x,y,x2,y2를 선언 후 적절히 입력해줍니다.
📔 풀이과정
매 어린이의 좌표를 입력받는 for loop를 수행합니다.
1. 좌표간의 거리공식을 적용합니다.
2. data유실이 없어야 하므로 double형으로 변수 dist를 선언해 저장합니다.
3. dist > k라면 unSafeCnt++해줍니다.
* 구글 번역기에는 k시야 이상부터 구조원이 못본다고 나옵니다. 이는 100%에서 틀리는 짜릿함을 맛보게 됩니다.
📔 정답출력
unSafeCnt를 출력해줍니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
int n, unSafeCnt;
double k, x, y, x2, y2;
int main(){
cin >> n >> k >> x >> y;
for(int i = 0; i < n; i++){
cin >> x2 >> y2;
double dist = sqrt(pow(x2 - x, 2) + pow(y2 - y, 2));
if(dist > k) unSafeCnt++;
}
cout << unSafeCnt;
}
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 9298 : Ant Entrapment (0) | 2022.02.19 |
---|---|
(C++) - 백준(BOJ) 8815 : Test (2) | 2022.02.18 |
(C++) - 백준(BOJ) 8725 : Szachy (0) | 2022.02.16 |
(C++) - 백준(BOJ) 9286 : Gradabase (0) | 2022.02.15 |
(C++) - 백준(BOJ) 9063 : 대지 (0) | 2022.02.14 |