-
백준 13118번 : 뉴턴과 사과 (C 언어)c c++ 언어 공부 2023. 10. 5. 12:04
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
Code:
1234567891011121314151617181920212223242526#include <stdio.h>int main(){int arr[4] = { 0, };for (int i = 0; i < 4; i++){scanf("%d", &arr[i]);}int x, y, r;scanf("%d %d %d", &x, &y, &r);int flag = 1;for (int i = 0; i < 4; i++){if(x==arr[i]){printf("%d", i + 1);flag = 0;break;}}if (flag == 1){printf("0");}}cs 문제 설명: 주어진 좌표 평면 상에 네 명의 사람이 x축 위에 위치하고, 하나의 사과가 중심 좌표 (x, y)에 반지름 r로 떠 있는 상황입니다. 사과는 중력의 영향을 받아 x축 방향으로 떨어지게 되며, 각 사람은 사과와 충돌하지 않도록 피하면서 사과가 떨어지기를 기다리고 있습니다. 사과와 충돌하는 사람이 있는지, 있다면 그 사람의 번호를 출력하는 문제입니다.
코드 설명: 주어진 문제를 해결하기 위해 작성한 코드는 주어진 네 명의 사람 위치와 사과의 정보를 입력 받은 후, 사과가 떨어질 x 좌표와 각 사람의 x 좌표를 비교하여 충돌하는 사람을 찾습니다.
- 네 명의 사람의 위치를 배열 arr에 입력받습니다.
- 사과의 정보인 x, y, r을 입력받습니다.
- flag 변수를 사용하여 충돌하는 사람을 찾았는지 여부를 표시합니다.
- 반복문을 사용하여 각 사람의 x 좌표와 사과의 x 좌표를 비교하여 충돌하는 사람을 찾습니다.
- 충돌하는 사람을 찾으면 그 사람의 번호를 출력하고, flag를 0으로 설정하여 더 이상 검사하지 않도록 합니다.
- flag가 1인 경우 (충돌하는 사람을 찾지 못한 경우) "0"을 출력합니다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 13752번 : 히스토그램 (C 언어) (0) 2023.10.06 백준 1551번 : 수열의 변화 (C 언어) (0) 2023.10.05 백준 2522번 : 별 찍기 - 12 (C 언어) (1) 2023.10.04 백준 2506번 : 점수계산 (C 언어) (0) 2023.10.04 백준 1855번 : 암호 (C 언어) (1) 2023.10.03