NOIP练习题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

NOIP练习题(时间:3小时)

一教师总结会(YUBIKILI)

[问题描述]

暑假快到了,学校将组织老师们开一个总结会,每个老师都会上台发言,总结本学期的教学情况。由于老师人很多,所以把他们分成N个组做总结发言。组的编号按顺时针方向被编上号码1,2,3……,N-1,N。刚开始,校长给每位老师发一个数字,代表他们自己所属的编号是从1号组开始按顺时针方向的第几个。例如:有7个发言组。如果Teacher Li手上的数字为9,那么他参加的发言组是第2个。现在老师们开始按照自己手上的数字找发言组。Teacher Li一下子就找到了自己所在的组。可是有一位老师手上的数字M非常大,他想了很久都算不出自己属于哪个组。

[问题求解]

请帮助这位老师找到他应该属于那个组的编号。

[输入格式]

从文件YUBIKILI.IN的第一,二行分别读入正整数N和M,其中N,M满足2<=N<=108,2<=M<=103000

[样例输入1]

7

9

[样例输出1]

2

[样例输入2]

11

108

[样例输出2]

9

二图的M着色问题(color)

[问题描述]

给定无向连通图G和M种不同的颜色,用这些颜色为图G的各顶点着色,每个顶点着

一种颜色。如果有一种着色法使G中每条边的2个顶点着不同的颜色,则称这个图是M可着色的。图的M着色问题是对于给定图G和M种颜色,找出所有不同的着色法。

[编程任务]

对于给定的无向连通图G和M种不同的颜色,编程计算图的所有不同的着色法。[输入格式]

文件color.in输入数据。第行有3个正整数N,K和M,表示给定的图G有N个顶点和K条边,M种颜色。顶点编号为1,2……,N。接下来的K行中,每行有2个正整数U,V,表示图G的一条边(U,V)。

数据范围:1

[输入格式]

程序结束时,将计算出不同的着色方案数输出到文件color.out中。

[输入样例]

5 8 4

1 2

1 3

1 4

2 3

2 4

2 5

3 4

4 5

[输出样例]

48

三、零件分组(stick)

[问题描述]

某工厂生产一批棍状零件,每个零件都有一定的长度(Li)和重量(Wi)。现在为了加工需要,要将它们分成若干组,使每一组的零件都能排成一个长度和重量都不下降(若i

[输入格式]

第一行为一个整数N(N<=1000),表示零件的个数,第二行有N对正整数,每对正整数表示这些零件的长度和重量,长度和重量均不超过10000。

[输出格式]

仅一行,即最少分成的组数。

[输入样例]stick.in

5

8 4 3 8 2 3 9 7 3 5

[输出样例]stick.out

2

四求最短距离(distance)

[问题描述]

小雨家住在小区里。她今年上小学一年级。每天她都要走路去车站,然后坐车去上学。小区被道路分成许多正方形的块,共N×M块。由于道路太多,她总是迷路。(作为程序高手,你帮小雨计算一下从她家到达车站的最短距离。注意。一般情况下,小区内的方块建有房屋,只能沿着附近的街道行走,有时方块表示公园,那么就可以直接穿过。样例如下图所示。

左下角为小雨家,右上角为车站。

[输入格式]

第一行是N和M(0

[输出格式]

输出从小雨家到车站的最短距离,四舍五入到整数(米)。

[输入样例]distance.in

3 2

3

1 1

3 2

1 2

[输出样例]distance.out

383

五护卫队(convoy)

[问题描述]

护卫车队在一条单行的街道前排成一队,前面河上是一座单行的桥。因为街道是一条单行道,所以任何车辆都不能超车。桥能承受一个给定的最大承载量,为了控制桥上的交通,桥两边各站一个指挥员,护卫车队被分成几个组,每组中的车辆都能同时通过该桥。当一组车队到达了桥的另一端,该端的指挥员就用电话通知另一端的指挥员,这样下一组车队才能开始通过该桥,每辆车的重量是已知的,任何一组车队的重量之和不能超过桥的最大承重量。被分在同一组的每一辆车都以其最快的速度通过该桥,一组车队通过该桥的时间是用该车队中速度最慢的车通过该桥所需的时间来表示的。问题要求计算出全部护卫车队通过该桥所需的最短时间值。

[输入格式]

输入文件第一行包含三个正整数(用空格隔开),第一个整数表示该桥所能承受的最大载重量(用吨表示,最大载重量<=2147483647);第二个整数表示该桥的长度(用千米表示,长度<=2147483647);第三个整数表示该护卫队中车辆的总数(N<1000)。接下来的几行中,每行包含两个正整数W和S(用空格隔开),W表示该车的重量(用吨表示,W<=2147483647),S表示该车过桥能达到的最快速度(用千米/小时表示,s<=32767)。车子的重量和速度是按车子排队等候时的顺序给出的。

[输出格式]

输出文件应该是一个实数,四舍五入精确到小数点后1位,表示整个护卫车队通过该桥所需的最短时间(用分钟表示)。

[输入样例]convoy.in

100 5 10

40 25

50 20

50 20

70 10

12 50

9 70

49 30

38 25

27 50

19 70

[输出样例]convoy.out

75.0

相关文档
最新文档