10833번: 사
문제 )
경상북도 특산품인 사과를 학생들에게 나눠주기 위해 여러 학교에 사과를 배정하였다. 배정된 사과 개수는 학교마다 다를 수 있고, 학생 수도 학교마다 다를 수 있다. 각 학교에서는 배정된 사과를 모든 학생들에게 똑같이 나눠주되, 남는 사과의 개수를 최소로 하려고 한다. (서로 다른 학교에 속한 학생이 받는 사과 개수는 다를 수 있다.)
예를 들어, 5개 학교의 학생 수와 배정된 사과 수가 다음과 같다고 하자.
![](https://blog.kakaocdn.net/dn/cdNSC6/btrWLwVwm4g/6EjikeCKC3UxgpdNlktXgK/img.png)
A 학교에서는 모든 학생에게 사과를 두 개씩 나눠주고 4개의 사과가 남게 된다. B 학교에서는 모든 학생에게 사과를 한 개씩 나눠주고 9개의 사과가 남게 된다. 비슷하게 C 학교에서는 3개의 사과가, D 학교에서는 10개의 사과가, E 학교에서는 0개의 사과가 남게 되어, 남는 사과의 총 수는 4+9+3+10+0 = 26이다.
각 학교의 학생 수와 사과 개수가 주어졌을 때, 학생들에게 나눠주고 남는 사과의 총 개수를 구하는 프로그램을 작성하시오.
입력 :
첫 번째 줄에는 학교의 수를 나타내는 정수 N (1 ≤ N ≤ 100)이 주어진다. 다음 N 개의 줄에 각 학교의 학생 수와 배정된 사과 개수를 나타내는 두 개의 정수가 주어진다. 학생 수와 사과 개수는 모두 1이상 100이하이다.
출력 :
남은 사과의 총 개수를 나타내는 정수를 출력한다.
풀이)
문제를 천천히 읽어보고,
각 학생수와 사과수에 대한 나머지를 더해주면 되는 것을 알 수 있었다.
따라서 나머지 연산자인 `%`을 이용하여 값을 계산해주었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int remain_apple = 0;
for (int i = 0; i < n; i++) {
int student, apple;
cin >> student >> apple;
remain_apple += apple % student;
}
cout << remain_apple;
return 0;
}
|
cs |
출처 : https://www.acmicpc.net/problem/10833
10984번: 내 학점을 구해줘
게으른 근우는 열심히 놀다가 문득, 자신의 학점 평균이 얼마일지 궁금해졌다. 학사시스템도 들어가기 귀찮아하는 근우를 위해 구해주도록 하자.
www.acmicpc.net
'Develop > 백준 (Cpp)' 카테고리의 다른 글
[백준] 2443번: 별 찍기 - 6 (C++) (0) | 2023.01.20 |
---|---|
[백준] 2442번: 별 찍기 - 5 (C++) (0) | 2023.01.20 |
[백준] 10984번: 내 학점을 구해줘 (C++) (0) | 2023.01.19 |
[백준] 1408번: 24 (C++) (0) | 2023.01.19 |
[백준] 16472번: 고냥이 (C++) (0) | 2022.06.29 |