Telephone directory - SGU 127(水)

题目大意:有一个电话簿,每页最多纪录K行电话,现在有N个电话要记录在电话薄上,要求同页的电话号码的首位要相同,电话簿的前两页是纪录的别的东西,问最少需要多少页电话簿。

分析:直接求首位数字有多少个即可.....

=====================================================================================================================

#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<set>
using namespace std;

int main()
{
    int x, N, K, num[10]={0};

    scanf("%d%d", &K, &N);

    while(N--)
    {
        scanf("%d", &x);
        num[x/1000] += 1;
    }

    int sum = 2;

    for(int i=1; i<10; i++)
    {
        sum += num[i] / K + (num[i]%K ? 1 : 0);
    }

    printf("%d\n", sum);

    return 0;
}

 

posted @ 2015-09-24 20:04  无忧望月  阅读(138)  评论(0编辑  收藏  举报
levels of contents