Chinaunix首页 | 论坛 | 博客
  • 博客访问: 45675
  • 博文数量: 8
  • 博客积分: 214
  • 博客等级: 入伍新兵
  • 技术积分: 60
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-05 22:21
文章分类
文章存档

2012年(8)

分类: C/C++

2012-11-09 16:07:37

一.zyf最喜欢的数字是1!所以他经常会使用一些手段,把一些非1的数字变 成1,并为此得意不已。他会且仅会的两种手段是:
1.把某个数m除以某个质数p——当然p必须能整除这个数,即m=m/p
2.把某个数m减1,即m=m-1
有一天他突发奇想,想把[a,b]区间中所有的数一个一个地变成1,这是一个巨大的无聊的工程,所以他想知道他最少得花多少操作才能达到目 的。
二.为了找寻沉睡的亚特兰提斯大陆,wm来到了大西洋上进行探险,找了半个月仍一无所获。然而在一次突袭而来的暴风雨后,wm
的船莫名地驶入了一片未知的区域,发现了一个地图上未标记的岛屿,这让他感到相当惊讶,强烈的好奇心驱使他上岸看看究竟。
船在岛屿靠岸后岛上的国王举行庆典热情地款待了他,整个岛一片喜庆。国王自称是亚特兰提斯人,而这个岛屿曾经是亚特兰提斯
大陆的最高地。现在岛屿上还有N个城市,由于岛上的资源相当有限且岛上没人知道怎么合理利用资源故一直以来在城市之间都没
有铺设道路,现在国王想请wm规划下道路并进行建设,国王对规划的要求如下:
  1.所有城市必须连通,即任意两个城市都可以互相来往
  2.国王是个娇气的人,所以他希望从任意城市走到任意另一个城市时的“舒适度”越高越好,其中两个城市间的“舒适度”定
义为:两个城市间路径的每一段道路的“舒适度”的最小者,例如从A到B需要经过C城市,A->C段“舒适度”为10,C->B段“舒适
度”为100,则A->B的“舒适度”为10(当然如果两个城市间有很多路径的话国王会走“舒适度”最大的路径)。现在定义K为所有
两个城市间“舒适度”的最小者,而国王希望K越大越好。
  现在岛上的资源只有R单位,国王希望wm帮他规划道路满足他的要求,在岛上资源条件的允许下输出最大的K。如果岛上的资源
不够满足第1个要求,则输出-1。
wm沉迷于岛上的玩乐,懒得去想这问题了,所以他远程求助你,帮他解决这个烦人的问题

阅读(3009) | 评论(1) | 转发(1) |
0

上一篇:处世技巧

下一篇:没有了

给主人留下些什么吧!~~

swsw232012-11-10 11:40:13

自己顶一下
这是第一题的答案:#include<stdio.h>
#define N    100000
int main()
{
    int e[N + 1] = {0}, p[N], pn = 0, an, m, i, j, t;

    for(i = 2; i <= N; e[i++] = 1);

    for(i = 2; i <= N; i++)
    if(e) for(p[pn++] = i, j = i + i; j <= N; j += i) e[j] = 0;

    for(an = pn, i = 0; an < N - 1; i++)
    {