본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 13118 : 뉴턴과 사과

반응형

https://www.acmicpc.net/problem/13118

 

13118번: 뉴턴과 사과

첫 번째 줄에 사람들의 위치를 나타내는 네 정수 p1, p2, p3, p4 (−109 ≤ p1 < p2 < p3 < p4 ≤ 109)가 공백을 사이로 두고 주어진다. i번 (1 ≤ i ≤ 4) 사람은 (pi, 0) 위에 서 있다. 두 번째 줄에 사과의 정보

www.acmicpc.net

간단한 구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

사람 5명의 위치를 의미하는 1차원 배열 p, 원의 중심 좌표 (x, y)와 반지름 r, 정답을 출력할 ans를 선언 후 적절히 입력받습니다.

📔 풀이과정

사과가 x축에 닿을 때까지 떨어지므로 y축은 무시해도 됩니다. 또한 수직으로 떨어지므로 원의 중심 좌표중 x의 값만 확인하면 됩니다. 1. 배열 p를 for loop로 확인한 후 x값과 일치하는지를 확인하면 답을 구할 수 있습니다. 2. x값과 일치하는 index를 ans값에 저장해줍니다.

📔 정답출력

ans를 출력해줍니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;
int p[5], x, y, r, ans;
int main(){
    cin >> p[1] >> p[2] >> p[3] >> p[4] >> x >> y >> r;
    for(int i = 1; i <= 4; i++){
        if(x == p[i]) ans = i;
    }
    cout << ans;
}