重点试题汇总 联系客服

发布时间 : 星期三 文章重点试题汇总更新完毕开始阅读a31e1f5fdaef5ef7bb0d3cbc

输入:robots.in

有若干行,每行两个整数,表示垃圾的坐标,以0 0结束。

地图大小不超过24*24,而且坐标从第一行开始从上往下给出,每行从左往右。

输出:robots.out

一个整数,表示需要的最少机器人数量。

样例: 输入 1 2 1 4 2 4 2 6 4 4 4 7 6 6 0 0 输出 2 输入 1 1 2 2 4 4 0 0 输出 1

无等差三元组nls(搜索优化)

一个等差三元组是指一个升序的三元组(s1,s2,s3),其中s2-s1与s3-s2相等。例如:(1,2,3),(2,4,6) 和 (14,21,28)都是等差三元组。

给出 L (4 <= L <= 13),表示一个升序序列的元素个数。M (L < M <= 35),表示序列中的最大整数。找出所有正好含L个元素,且可能含有的最大整数为M的正整数递增序列,使序列中不包含等差三元组。

你的程序需要输出符合以上条件的前三个序列,除非总数不到三个。 最后一行输出符合条件的序列的总数。

输入格式:(文件 nls.in)

第一行是两个由空格分开的整数 L 和 M。

输出格式:(文件 nls.out)

第1到第3行,分别输出前三个递增序列,以空格分开各个正整数。如果没有三个方案,就输出所有方案。

下面一行输出符合条件的递增序列的总数,保证一个32位的带符号整型变量可以容纳。

样例: 输入 5 9 输出

1 2 4 8 9 1 2 6 7 9 1 2 6 8 9 4

解析:

含5个元素,可能含有最大整数为9的递增序列,要求序列中不包含任何等差三元组。 第四个序列是:1 3 4 8 9。

数列的整除性 (背包问题)

问题描述:

对于任意一个整数数列,我们可以在每两个整数中间任意放一个符号'+'或'-',这样就可以构成一个表达式,也就可以计算出表达式的值。比如,现在有一个整数数列:17,5,-2,-15,那么就可以构造出8个表达式: 17+5+(-21)+15=16 17+5+(-21)-15=-14 17+5-(-21)+15=58 17+5-(-21)-15=28 17-5+(-21)+15=6 17-5+(-21)-15=-24 17-5-(-21)+15=48 17-5-(-21)-15=18

对于一个整数数列来说,我们能通过如上的方法构造出不同的表达式,从而得到不同的数值,如果该数值能够被k整除的话,那么我们就称该数列能被k整除。

在上面的例子中,该数列能被7整除(17+5+(-21)-15=--14),但不能被5整除。现在你的任务是,判断某个数列是否能被某数整除。

输入格式:

数据存放在当前目录下的文本文件\中。

文件的第一行是一个整数m,表示有m个子任务。接下来就是m个子任务的描述。 每个子任务有两行。第一行是两个整数n和k(1<=n<=10000, 2<=k<=100),n和k中间有一个空格。n 表示数列中整数的个数;k就是需要你判断的这个数列是否能被k整除。第二行是数列的n个整数,整数间用空格隔开,每个数的绝对值都不超过10000。

输出格式:

答案输出到当前目录下的文本文件 \中。

输出文件应有m 行,依次对应输入文件中的m 个子任务,若数列能被k 整除则输出 \,否则输出 \,行首行末应没有空格。

样例:

输入文件:div.in 2 4 7

17 5 -21 15 4 5

17 5 -21 15

输出文件:div.out Divisible Not Divisible

bridging signals(动态规划+二分查找)

有一个二分图的完全匹配,二分图两个顶点集合大小相等。现在要从中取定尽量多的边,使得任意两条边都不相交。如下图所示,连接关系是(4, 2, 6, 3, 1, 5),最多取3条边,满足要求。

输入:signals.in

第一行是整数p,p<40000,表示每个集合顶点个数。

接下来的p行,每行一个数,依次表示左边的点与哪一个右边的点连接。

输出:signals.out

一个整数,表示做多的边数。 样例 输入 6 4 2 6 3 1 5 输出 3 输入 10 2 3 4 5 6 7 8 9 10 1 输出 9 输入 8 8 7 6 5 4 3 2 1 输出 1