-
백준 1812번 : 사탕 (C 언어)c c++ 언어 공부 2023. 11. 10. 11:31
https://www.acmicpc.net/problem/1812
1812번: 사탕
첫째 줄에 N(3 ≤ N ≤ 999, N은 홀수)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 1번 학생과 2번 학생이 가지고 있는 사탕의 수의 합, 2번 학생과 3번 학생이 가지고 있는 사탕의 수의 합, …, N-1번 학
www.acmicpc.net
Code:
123456789101112131415161718192021222324252627282930#include <stdio.h>int main() {int n;scanf("%d", &n);int arr[1000] = { 0, };for (int i = 1; i <= n; i++){scanf("%d", &arr[i]);}int result[1000] = { 0, };for (int i = 1; i <= n; i++){if (i % 2 == 1){result[1] += arr[i];}else{result[1] -= arr[i];}}result[1] /= 2;printf("%d\n", result[1]);for (int i = 2; i <= n; i++){result[i] = arr[i - 1] - result[i - 1];printf("%d\n", result[i]);}}cs 문제 설명:
주어진 문제는 학생들이 원 모양으로 둘러앉아 있고, 각 학생들 간의 사탕 수의 합이 주어졌을 때, 각 학생이 가지고 있는 사탕의 수를 찾는 프로그램을 작성하는 것입니다.
원 모양으로 둘러앉은 학생들은 각 학생이 오른쪽에 있는 학생과의 사탕 수의 합과 왼쪽에 있는 학생과의 사탕 수의 합을 알고 있습니다. 이 정보를 토대로 각 학생이 가지고 있는 사탕의 수를 찾아내야 합니다.
코드 설명:
- 입력 부분: 먼저, 학생 수를 입력받고, 각 학생 간의 사탕 수의 합을 배열 arr에 저장합니다.
- 1번 학생의 사탕 수 계산: 1번 학생은 반시계 방향으로 봤을 때 홀수 번째 학생들과는 더하고 짝수 번째 학생들과는 뺴서 초기값을 계산합니다.
- 1번 학생의 계산 결과 출력: 계산된 1번 학생의 사탕 수를 2로 나누어 출력합니다.
- 나머지 학생들의 사탕 수 계산 및 출력: 2번 학생부터 마지막 학생까지 반복하면서 각 학생이 가지고 있는 사탕 수를 계산하고 출력합니다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 1434번 : 책 정리 (C 언어) (2) 2023.11.22 백준 1524번 : 세준세비 (C 언어) (1) 2023.11.22 백준 17356번 : 욱 제 (C 언어) (0) 2023.11.09 백준 2547번 : 사탕 선생 고창영 (C 언어) (0) 2023.11.08 백준 1568번 : 새 (C 언어) (0) 2023.11.07