본문 바로가기
전공공부/코딩테스트

(c++) 백준 "방 배정"

by 시아나 2022. 5. 3.

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

 

13300번: 방 배정

표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 수학여행에 참가하는 학생 수를 나타내는 정수 N(1 ≤ N ≤ 1,000)과 한 방에 배정할 수 있는 최대 인원 수 K(1 < K ≤ 1,000)가 공백으로 분리되어

www.acmicpc.net


#include <iostream>
#include <vector>
#include <map>

using namespace std;
int N, K;
map<int, int> student[2];// 0 : 여 / 1 : 남

void solution() {
	int result = 0;
	for (int i = 0; i < 2; i++) {
		for (pair<int,int> n : student[i]) {
			result += (n.second / K) + ((n.second % K > 0) ? 1 : 0);
		}
	}
	cout << result << endl;
}

int main() {
	cin >> N >> K;
	for (int i = 0; i < N; i++) {
		int s,y; cin >> s>>y;
		student[s][y]+=1;
	}
	solution();
	return 0;
}