算法实训题目(8)

2019-03-28 09:01

置)这样岛上的居民就能用手机通话了,所有的基站的覆盖距离都是d,在距离d范围内的小岛都能收到基站发送的信号。

我们用笛卡尔坐标系来表示这个问题,定义x轴为海滩,x轴上方是大海,下方是陆地。现给出每个小岛的位置(用x-y坐标表示)和基站的覆盖范围d,你的任务就是写一个程序,计算出可以覆盖所有的小岛,至少需要在海滩上安装多少基站?

Input

输入包含多组数据。对每组数据,第一行包含两个整数n(1 <= n <= 1000)和d,n代表小岛数量,d代表基站的覆盖距离。接下来有n行,每行包含两个整数,表示小岛的位置坐标。输入n=0,d=0时退出。 Output

对每组数据,输出包含数据组数,格式如sample,后跟最少需要安装的基站数,如果无解,输出-1。 Sample Input 3 2 1 2 -3 1 2 1 1 2 0 2 1 -2 0 2 0 0

Sample Output Case 1: 2 Case 2: 1 Case 3: -1

和MM去上课

Time limit: 1000MS Memory limit: 32768K

Total Submit: 31 Accepted: 12

北大的很多研究生住在万柳校区,他们每天要坐公交或骑车去4.5公里远的燕园上课。由于北京的交通很烂(我想也是很烂),许多同学选择骑车去上课。 查理同学和其他同学的骑车习惯不同,其他同学都是以固定的速度骑行,查理则是跟某个MM一起,这样就不会觉得无聊。当查理出发的时候,他会寻找一个MM作伴去燕园。如果找到了PLMM,他就会和她一起,否则就继续物色。在去燕园的路上,如果有某个MM速度比较快,超过他了,他就会丢下身边的MM去追那个更快的MM,然后和她一起去燕园。 我们假设查理出发的时刻为0,现给出很多MM的出发时间和速度,你来计算一下查理什么时候能到燕园呢?

Input

包含多组数据。每组数据第一行以个整数N(1<=N<=10000),代表MM数,N=0时退出,接下来有N行,每行代表一个MM的骑行信息。格式:Vi Ti。0 < Vi <= 40,代表骑车速度(km/h),Ti是该MM的出发时间(s),Ti可能小于0。

Output

每行输出代表一组数据。输出查理到达燕园的时间,不满1秒的按1秒算。

Sample Input

4 20 0 25 -155 27 190 30 240 2 21 0 22 34 0

Sample Output

780 771

2011-软件091-092-实验十

Huffman Coding

Time limit: 1000MS Memory limit: 32768K

Total Submit: 58 Accepted: 55

给定一个数字N,代表有N种不同的字符,已知每种字符的出现次数,现在要求你设计一种编码,使得任意一个编码都不是另外一个编码的前缀,并且使得这些字符经过编码压缩之后的总长度最小;

输入

一个数字N 代表有多少种不同的字符(0<=N<=1000) N个数字 每个数字代表一种字符的出现次数 输出

一个数字,代表总的编码长度

Sample Input 5 1 2 3 4 5 3 3 8 8

Sample Output 33 30

HINT: 比如第2组数据 A字符出现3次,B字符出现8次,C字符出现8次 则A编码可以为00 B为01 C为1 总长度为 3*2 + 8*2 + 8*1 =30

2011-软件091-092-实验十一

部分背包问题

Time limit: 3000MS Memory limit: 32768K

Total Submit: 76 Accepted: 58

一个商人带着一个能装M千克的背包去乡下收购货物,准备将这些货物卖到城里获利。现有N种货源,且知第i种货物有Wi千克,可获利Pi元。请你设计一个程序以帮助这个商人收购货物,使得他能获利最高。 Input

第一行输入一个整数 T(1 <= T<= 64), 表示测试数据数量。

每组CASE三行,第一行包含两个整数N(1 <= N <= 1024),M(1 <= M <= 4096),表示资源的数量以及背包的容量。

第二行包含N个整数Wi(1 <= Wi <= 4096) 表示第i种货物有Wi千克。 第三行包含N个整数Pi(1 <= Pi <= 10086) 表示第i种货物可获利Pi元。 Output

对于每组Case, 输出一行:\表示当前是第几组CASE, Y表示最大获利。 Sample Input 2 3 5 1 2 3 3 2 1 7 4

1 2 3 2 1 1 4 1 2 10 3 2 1 100 Sample Output Case #1: 5 Case #2: 100

Source:

2011-软件091-092-实验十二

最小生成树

Time limit: 1000MS Memory limit: 32768K

Total Submit: 66 Accepted: 62

在一张图上有N个点,点与点之间的连接的花费都已经告诉你了,请你设计一下,如果解决这个“最小生成树”的问题。

输入

首先输入一个数字N(0〈=N〈=100)

然后输入一个N*N的矩阵 其中第i行第j列的数字k表示从点i到点j需要的花费。

输出

一个数字,最少需要多少花费才能使得整张图任意两点都直接或者间接连通(也就是最小生成树的权) Sample Input 5

0 41 67 34 0 41 0 69 24 78 67 69 0 58 62 34 24 58 0 64 0 78 62 64 0 0 2 0 1 1 0

Sample Output 116 0 1

2011-软件091-092-实验十三

最小生成树

Time limit: 1000MS Memory limit: 32768K

Total Submit: 76 Accepted: 60


算法实训题目(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:每年产2.25万吨铜杆连铸连轧生产装置项目建设可行性研究报告可研

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: