#1270. [经开区 ] 考场安排
[经开区 ] 考场安排
当前没有测试数据。
时间限制:1000ms 空间限制:256MB
题目描述
NOIP2018,合肥市有 n 所学校的若干同学报名参加初赛。初赛当天,众多学生拿着准考证进入对应的考场,参加考试。作为学校信息学社团的神犇,卓然参加了本次比赛。考试结束前半个小时,卓然顺利完成所有题目,很低调地交卷出场。出场后,在学校的操场上溜达了几圈,找了个凳子坐下来,翻看着手中的准考证。他忽然想,如果是他来编排所有参赛同学的考场,他会怎么做呢?
首先,每个考场的人数是一定的,应该是 30 人,当然了,尾考场除外;其次,一个考场的相邻座位尽量不是同一所学校的。
那该如何编排各个学校,满足第二个条件呢?这当然难不住大神了,他想到了一个特别简单的方法:按照报名顺序将 n 所学校排成一排,从左往右,确定一所学校,其左边的学校作为一个整体,这所学校在内的右边的学校作为一个整体,两个部分的学生间隔安排,就可以了。当然,确定这所学校的依据是让两个部分的人数最为接近,如果有多个满足条件的学校,选择最左边的。
给出 n 所学校的人数,请你据此编排考场,按照报名顺序,输出每一个同学的考号。考号是六位数字,前两位是 18,后四位从001 开始递增。
输入格式
两行。第一行一个正整数 n。第二行 n 个正整数,按照报名顺序登记的每个学校的报名人数。
输出格式
n 行。第 i 行表示对应的第 i 所学校的所有学生的准考证号码。
样例
输入#1
3
7 3 2
输出#1
180001 180003 180005 180007 180009 180011 180012
180002 180004 180006
180008 180010
解释
按照人数,第一所学校为第一部分,第二和第三所学校为第二部分,每个部分各选一人,如此往复,等第二部分全部选完,第一部分依序编排,直至结束。
数据范围/约定
2<=n<=1000。
1<=每个学校的报名人数<=200。
1<=所有报名人数<=5000。
特殊测试点:
第 1 个测试点 n=2,且两个学校人数相等。
第 2 个和第 3 个测试点 n=2,且两个学校人数不等。