본문 바로가기

Coding/백준 온라인 저지 (Baekjoon Online Judge)

백준 온라인 저지 (Baekjoon Online Judge) - 10833번: 사과

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

 

10833번: 사과

경상북도 특산품인 사과를 학생들에게 나눠주기 위해 여러 학교에 사과를 배정하였다. 배정된 사과 개수는 학교마다 다를 수 있고, 학생 수도 학교마다 다를 수 있다. 각 학교에서는 배정된 사과를 모든 학생들에게 똑같이 나눠주되, 남는 사과의 개수를 최소로 하려고 한다. (서로 다른 학교에 속한 학생이 받는 사과 개수는 다를 수 있다.) 예를 들어, 5개 학교의 학생 수와 배정된 사과 수가 다음과 같다고 하자. 학교 A B C D E 학생 수 24 13 5 2

www.acmicpc.net

 

#include <iostream>
using namespace std;

class School {
	int student;
	int apple;
public:
	void setStudent(int student) { this->student = student; }
	void setApple(int apple) { this->apple = apple; }
};

int main() {
	int num;
	cin >> num;
	School *sp = new School[num];
	int student;
	int apple;
	int left;
	int sum = 0;
	for (int i = 0; i < num; i++) {
		cin >> student >> apple;
		sp[i].setStudent(student);
		sp[i].setApple(apple);
		left = apple % student;
		sum += left;
	}
	cout << sum;
}

 

문제 해설

 

학교 클래스에 학생 수, 사과의 수를 표현하는 student, apple 멤버 변수를 만들고,

그 변수들을 초기화하기 위한 set 멤버 함수들을 구현하였다.