奥赛精解(的练习题).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文档。上传文档
查看更多
奥赛精解(的练习题)

一、棋盘类题目 1.马拦过河卒 中学高级本(紫皮)P2、《奥赛精解练习题》P266页 棋盘上A(0,0)点有一个过河卒,需要走到目标B(n,m)点。卒街的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在点及所有跳跃一步可达点称为马的控制点。因此称之为“马拦过河卒”。 输入:一行四个数据,表示B点和C点马的坐标,n、m均为不超过15的整数。 输出:一个数据,表示所有的路径数。 【分析】遍历每个点的路径,A点所在行及列上点的路径均为1,马的9个控制点的路径均为0,其余每个点的路径为a[x,y]:=a[x,y-1]+a[x-1,y]。 2.设有一个n*m方格的棋盘(1≤m,n≤100)。求出该棋盘中包含多少个正方形、多少个长方形(不包括正方形)。(Noip97-1) 例如:当n=2,m=3时,正方形的个数有8个;即边长为1的正方形有6个; 边长为2的正方形有2个。长方形的个数有10个;即2*1的长方形有4个;1*2的长方形有3个;3*1的长方形有2个; 3*2的长方形有1个。 程序要求:输入:n和m 输出:正方形的个数与长方形的个数 如上例:输入:2 3 输出:8,10 【分析】 二、贪心算法 中学高级本(紫皮)P22 1.排队接水 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小。 输入:输入文件共2行,第一行为n;第二行为每个人的接水等待时间 输出:文件为2行,第一行为排队顺序,第二行为平均等待时间。 2.智力大冲浪 智力大冲浪节目,奖励每个参赛者m元,首先比赛时间为n个时段n=500),它又给出了很多小游戏,每个小游戏都必须在规定期限Ti前完成(1=Ti=n)。如果一个游戏没能在规定的期限前完成,则要从奖励费m元中扣去一部分钱Wi,Wi为自然数,不同的游戏扣去的钱是不一样的,当然,每个游戏本身都很简单,保证每个人都能在一个时段完成,而且都必须从整数段开始,主持人只是想考考参赛者如何安排组织自己做游戏的顺序,作为参赛者,小伟很想赢得冠军,当然更想赢取最多的钱,注意,比赛绝不让参赛者赔钱[问题输入] 输入文件in.txt,共4行。 第1行为m,表示一开始奖励给每位参赛者的钱; 第2行为n,表示有n个小游戏; 第3行有n个数,分别表示游戏1到n的规定完成期限; 第4行有n个数,分别表示游戏1到n不能在规定期限前完成的扣款数。 [问题输出] 输出文件out.txt,仅1行。表示小伟能赢取最多的钱。 [输入样例] 10000 7 4 2 4 3 1 4 6 70 60 50 40 30 20 10 [输出样例] 9950 阿姆斯特朗数如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。例如1^3 + 5^3 + 3^3 = 153 当n=3时,又称水仙花数,特指一种三位数,其各个数之立方和等于该数。水仙花数共有4个,分别为:153、370、371、407。While s0 do Begin I:=1; While (ilength(n)) and (n[i]n[i+1]) do i:=i+1; Delete(n,I,1); S:=s-1; End; While (lentgh(n)1) and (n[1]=’0’) do delete(n,1,1) 输出n; 2.合并果子《奥赛经典金钥匙》P58页 在一个果园里,所有果子已经打下来,分成不同数目的堆,多多决定把所有果子合并为一堆。每一次可以合并两堆,消耗体力等于两堆果子重量之和。经过n-1次合并后,就剩下一堆,还要再搬回家,所以要尽量的节省体力,设计出合并的方案,使消耗体力最少,并输出最小的体力耗费值。 例如:有3种果子,数目依次为1,2,9。可以先1、2堆合并,新堆数目为3,耗费体力3,再将新堆与3堆合并,新堆数目为12,耗费体力为12,总共耗费体力=3+12=15。 输入:两行,第一行整数n(1=n=10000)A: array[1..10000] of string; X:integer; Readln(f,n); For i:=1 to n do Begin Read(f,x); str(x,a[i]); End; For i:=1 to n-1 do For j:=i+1 do n do If a[i]+a[j]a[j]+a[i] then 交换 5.取数游戏 《奥赛精解练习题 》P262页 给出2n(n≤100)个自然数(数小于等于30000).游戏双方分别为A方(计算机方)和B方(对弈的人).只允许从数列两头取数。A先取,然后双方依次轮流取数。取完时,谁取得的数

文档评论(0)

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

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

1亿VIP精品文档

相关文档