time limit per test: 0.5 sec.
memory limit per test: 4096 KB
http://acm.sgu.ru/problem.php?contest=0&problem=127
CIA has decided to create a special telephone directory for its agents. The first 2 pages of the directory contain the name of the directory and instructions for agents, telephone number records begin on the third page. Each record takes exactly one line and consists of 2 parts: the phone number and the location of the phone. The phone number is 4 digits long. Phone numbers cannot start with digits 0 and 8. Each page of the telephone directory can contain not more then K lines. Phone numbers should be sorted in increasing order. For the first phone number with a new first digit, the corresponding record should be on a new page of the phone directory. You are to write a program, that calculates the minimal number P pages in the directory. For this purpose, CIA gives you the list of numbers containing N records, but since the information is confidential, without the phones locations.
Input
The first line contains a natural number K (0 < K < 255) - the maximum number of lines that one page can contain. The second line contains a natural N (0 < N < 8000) - number of phone numbers supplied. Each of following N lines contains a number consisting of 4 digits - phone numbers in any order, and it is known, that numbers in this list cannot repeat.
Output
First line should contain a natural number P - the number of pages in the telephone directory.
Sample Input
5 10 1234 5678 1345 1456 1678 1111 5555 6789 6666 5000
Sample Output
5
ceil(x / k) = (x - 1) / k + 1 (x!=0)
完整代码:
/*15ms,835KB*/
#include<cstdio>
#include<cmath>
int has[8];
int main(void)
{
int k, n, count = 2, num;
scanf("%d%d", &k, &n);
while (n--)
{
scanf("%d", &num);
if (num < 1000 || num > 7999)
continue;
++has[num / 1000];
}
for (int i = 1; i < 8; ++i)
if (has[i])
count += (has[i] - 1) / k + 1;
printf("%d", count);
return 0;
}
| Resource | : 5th Southern Subregional Contest. Saratov 2002 |

本文介绍了一个关于为CIA设计特殊电话簿的程序问题,该程序需要将特工的电话号码按升序排列并根据特定规则分配到不同页面上。文章提供了具体的输入输出示例及限制条件,并附带了一段C语言实现代码。
139

被折叠的 条评论
为什么被折叠?



