BOJ:3300部屋割り(C++)


質問する



Code

#include <iostream>
#include <string.h>

using namespace std;
int man[7];
int woman[7];
int RoomCnt;
void cnt(int arr[], int m)
{
    for(int i=0; i < 7;i++)
    {
        int a = arr[i];
        while(a != 0)
        {
            if(a > m)
            {
                a = a-m;
                RoomCnt++;
            }else{
                RoomCnt++;
                a=0;
            }
        }
    }
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);

    int N, max;
    int sex, gr;
    cin >> N >> max;

    for(int i=0;i<N;i++){
        cin >> sex >> gr;
        if(sex){
            man[gr]++;
        }else{
            woman[gr]++;
        }
    }
    cnt(man,max);
    cnt(woman,max);
    cout << RoomCnt;
    return 0;
}
  • 男性/女性が一緒にいない、分類
  • 各学年の人数、1つの部屋の最大人数maxとそれぞれ
  • を比較します
  • およびCount