hnoi2008第一试.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
hnoi2008第一试

NOI2008湖南省组队选拔赛第一试试题 第一题:可见直线(程序文件名:Lines.exe)100分,运行时限:1s 假设XOY平面上有n条不垂直于X轴的直线L1,L2,······,Ln,若站在Y轴上Y值为正无穷大的高度往下看,至少能够看到直线Li的某个子线段,则称Li是可见的;否则称Li是被遮盖的。 例如,三条直线为L1:Y=-X; L2:Y=X; L3:Y=0; 则L1和L2是可见的,而L3是被遮盖的。 现在的任务是,给定N条直线L1,L2,······,Ln,请你编程求出所有可见的直线。为简单起见,假设所有直线都可写为Y=AX+B的形式,其中A和B为绝对值小于500000的整数,并且n条直线中没有两条直线是重合的。 【输入格式】(input.txt) 从文件input.txt中读入数据,文件第一行包括一个整数n,表示直线条数,接下来的n行每行有两个用空格隔开的整数,第I+1行的两个整数分别对应直线Li的Ai和Bi。输入的数据保证-500000Ai,Bi500000; 0n50000; 并且没有重合的直线。 【输出格式】(output.txt) 输出文件output.txt仅包含一行,为m个整数t1,t2,······,tm,表示Lt1,Lt2,······,Ltm是可见的,你的程序必须保证序列t1,t2,······,tm 单调增,并且相邻整数间用一个空格隔开。 【输入输出样例】 input.txt output.txt 3 1 2 -1 0 1 0 0 0 第二题:明明的烦恼(程序文件名:tree.exe)100分,运行时限:1s 自从明明学了树结构,他对奇形怪状的树产生了浓厚的兴趣。在画了一棵又一棵各种各样的树后,他想出了一个问题:给定n个标号为1到n的点,并允许在两点之间任意连线,要求最终连成一棵含n个点的树,总共能画出多少棵不同的树呢?在着手解决这个问题的时候,他又想到了另一个更一般的问题:给定n个标号为1到n的点以及某些点最终的度数,并允许在两点之间任意连线,要求最终连成一棵含n个点的树且树中各点的度满足上述要求,总共能画出多少棵不同的树呢? 明明思考了很久,也只会手算一些简单的情况,由于初学程序设计,他不知道如何些个程序来帮他解决这个问题。所以求助于准备参加NOI2008的你,请你帮他解决这个问题。 【输入格式】(input.txt) 从文件input.txt读入数据,文件第一行包含一个整数n,表示树中的结点数,接下来的n行依次表示结点1到结点n最终应该具有的度数,第I+1行表示结点I最终应该具有的度数Di,若第I+1行为-1,则表示对结点I的度数没有要求。输入数据保证0n=1000, -1=Din。 【输出格式】(output.txt) 输出文件output.txt中仅包含一个整数,表示可以画出多少棵不同的树,若无解则输出0。 【输入输出样例】 input.txt output.txt 3 2 1 -1 -1 【样例说明】 两棵满足条件的树为: 1——2——3 1——3——2 第三题:越狱(程序文件名:prison.exe)100分,运行时限:1s 在X星球上有一个名为Y的国家,它以治安条件良好、百姓安居乐业而闻名。正因为如此,在Y国犯罪的人数很少,以至于全国只需要设置一个监狱就足够关押所有的犯人。Y国的监狱有一个特点:它由n个房间组成,所有的房间都紧挨着排成一排,而且每个房间都只关押一个犯人。同时, Y国是一个多宗教的国家,其境内流行着m种宗教,并且每一个公民都只信奉其中的一种宗教。 然而,近年来,Y国的监狱里不时发生了犯人越狱的事件,这令Y国安全部长小K十分恼火。经过长期的调查,小K发现,发生越狱事件必须具备两个条件:首先,一个人的力量有限,因此越狱必须是两个相邻房间的犯人共同策划来完成;其次,两个拥有不同宗教信仰的人是不可能互相交流的,自然也不可能共同策划越狱。 了解到这些情况后小,K十分高兴。他想知道,到底有多少种情况会导致越狱事件的发生。可是,小K数数的功夫自然比不过抓犯人的本事,所以他找到了准备参加NOI2008的你,请你编写一个程序,计算在所有房间都关满犯人的条件下(即,总共关押了n个犯人),有多少种监狱的状态可能导致犯人越狱。 说明: 1、越狱事件发生的充要条件是:存在两个相邻的房间,里面关押着两个拥有相同宗教信仰的人; 2、一种监狱的状态是只一个n元组(a1,a2,a3,......an),其中0≤ai≤m-1,表示第i个房间的犯人拥有第ai种宗教信仰。 【输入格式】(input.txt) 从文件input.txt中读入数据,文件中只包含两个整数,并用

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档