注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

xiaochen7777的博客

http://player.youku.com/player.php/sid/X

 
 
 

日志

 
 
关于我

了如指掌,方能规划人生。是说人应该了解一下自己手上的掌纹,它能对你的人生进行导航。(Q号:1583223327),共同学习。

网易考拉推荐
 
 

山东省信息学奥赛选拔赛第一试试题  

2014-09-02 09:14:09|  分类: 教书育人 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


(2005年5月3日)

1.Antiprime数(ANT.PAS)

如果一个自然数n(n>=1),满足所有小于n的自然数(>=1)的约数个数都小于n的约数个数,则n是一个Antiprime数。譬如:1, 2, 4, 6, 12, 24。

任务:

编一个程序:

1、  从ANT.IN中读入自然数n。

2、  计算不大于n的最大Antiprime数。

3、将结果输出到ANT.OUT中。

 输入( ANT.IN):

输入文件ANT.IN只有一个整数,n(1 <= n <= 2 000 000 000)。

 输出(ANT.OUT):

输出文件ANT.OUT也只包含一个整数,即不大于n的最大Antiprime数。

 样例输入( ANT.IN):

1000

 样例输出(ANT.OUT):

840

2.高速公路(Highway.PAS)

问题描述:

京珠高速公路目前正在建设当中。粤北地区是世界著名的“丹霞地貌”,京珠在这里必须穿过一大片复杂的山区。工程的总设计师Bonny已经规划好了公路大致的走向,而工程师们则被派往各个多山的路段,以设计这些路段的具体规划。

现在,你因为在信息学上取得的出色成就,被Bonny派往一个称为DreadfulMess的最复杂的路段,并仅仅给了你一张地图和一些数据。

地图以笛卡尔坐标系描述,其中包括这一地区的所有山峰的数据(俯视图)及两个点A、B。每座山的轮廓被假想为四边形,工程师们把这些四边形的顶点称为“测量点” ,这些四边形不会发生重叠、包含,但有可能有共用的一段边或顶点。山以外的区域被认为是平地。

你的任务是计算此路段山区的总面积,并设计一条公路,从A点起始,到B点终止。设计的原则是:公路是一条折线(即转弯点的个数是有限的);公路可以修在平地上、沿山脚或山谷(即两座山的结合部),也可以打隧道;隧道口不能是转弯点,除非它又是测量点;修建公路的费用最小。

费用的计算:平地、沿山脚或山谷的单位修路费用为u0,各座山修隧道的单位费用为ui。

输入 (Highway.in):

第一、二行分别为A、B点坐标,整数。

第三行为u0,正整数。

第四行为山峰数n,0<=n<=50。

以下共n行,每行首先是一个正整数ui,然后是8个整数,按逆时针方向给出表示山的四边形的顶点坐标。

输入数据保证A、B两点不会在任何山的内部,四边形任意3个顶点不在同一直线上,所有的整数的绝对值不会大于1000。

坐标均以整数对的形式给出,第一个数为横坐标,第二个为纵坐标。同一行内若有多个相邻整数,则整数间以至少一个空格隔开。

输出 (Highway.out):

第一行为这个区域山的总面积。

第二行为设计公路的总长。

第三行为修建所设计公路的费用。

输出数据均保留两位小数。

Highway.in

-10 1

10 1

100

2

110 0 0 -5 5 -10 0 -5 -5

300 5 -5 10 0 5 5 0 0

Highway.out

100.00

21.93

2252.15

3.病毒(VIR.PAS)_

问题描述:

二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段,试问,是否存在一个无限长的安全的二进制代码。

示例:

例如如果{011, 11, 00000}为病毒代码段,那么一个可能的无限长安全代码就是010101…。如果{01, 11, 000000}为病毒代码段,那么就不存在一个无限长的安全代码。

任务:

请写一个程序:

      在文本文件WIR.IN中读入病毒代码;

      判断是否存在一个无限长的安全代码;

      将结果输出到文件WIR.OUT中。

输入格式(WIR.IN):

在文本文件WIR.IN的第一行包括一个整数n,表示病毒代码段的数目。以下的n行每一行都包括一个非空的01字符串——就是一个病毒代码段。所有病毒代码段的总长度不超过30000。

输出格式(WIR.OUT):

在文本文件WIR.OUT的第一行输出一个单词:

      TAK——假如存在这样的代码;

      NIE——如果不存在。

样例:

输入(WIR.IN):

3

01

11

00000

输出(WIR.OUT):

NIE

4.动物园(Sample.pas)

问题描述(背景):

位于郊区的动物园很早就采用了当时先进的自动化管理设施对动物进行管理。但是由于当时的系统没有考虑2000年问题,使得管理人员十分担心。虽然采取了很多防范措施,系统还是在世纪之交出现了一些BUG,部分动物的笼子门自动打开了,关在里面的动物都跑出来了。

幸好动物园已经关闭,动物不会跑出动物园。警长Still接到报警后率领一支干警奔赴现场。这时动物已经跑出了笼子,所以干警们花了很多时间才控制住了局势,所有的动物都己经送到动物园的广场。但是此时有一个棘手的问题,由于系统完全崩溃,无法得知动物是从哪个笼子里面跑出来的。此时,干警们记得动物的一些行动,都是如下的形式:

第t分钟看到某某动物在某个位置

Still希望通过这些零碎的信息得到动物是从哪个笼子跑出来的。

任务:

根据给出的信息,编程求出每个动物的笼子的位置。

动物园的地形描述为一个n * n的网格,一个格子可以是建筑物或者平地。笼子的位置只可能在平地,动物也只在平地运动。每种动物的奔跑速度不一样,例如老虎一分钟可以跑5个格子,猫一分钟只可以跑2个格子等等。以下是一个例子(其中阴影部分是建筑物):

  笼子  
     
     
     
 笼子   

每个笼子只关一只动物,不同的笼子关不同的动物。不同的笼子可能在同一个格子里。

 输入格式(Sample.In):

第一行为自然数n,表示网格的边长(n <= 100)

以下n行为一个n*n的字符串矩阵,表示动物园的地形。其中’.’表示空地,’*’表示建筑物。

接着一行是自然数p,表示笼子的数目(同时也是动物的数目)。P <= 100

以下p行,每行两个自然数Row, Col,表示一个笼子处于网格的第Row行,第Col列。Row <= n  Col <= n

以下p行,每行一个整数Vi ,依次表示编号为的动物的速度(格子/分钟),每个动物用它的编号表示。

接着一行是自然数r,表示干警们提供的信息数目。

以下r行,每行4个自然数,t, Row, Col, j,表示第t分钟在网格的(Row, Col)位置看到动物j .

具体格式参照样例。

 

输出格式(Sample.Out):

输出任意一个可行解。

包括p行,每行3个整数i Row Col,表示动物i原来在格子(Row,Col)。

 

输入输出样例:

Sample.In

5

.....

.***.

.....

.***.

.....

2

1 3

5 2

1

2

2

5 3 1 2

4 5 5 1

 

Sample.Out

1 5 2

2 1 3

 

注:对于特定的数据可能有多解,输出任意一解即可。
  评论这张
 
阅读(77)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017