集训队作业猜数_第1页
集训队作业猜数_第2页
集训队作业猜数_第3页
免费预览已结束,剩余5页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、猜和一起参加了在绵阳举行的信息学冬令营。今天是休息的日子,和闲着无聊,决定一起玩经典的猜数字。a1a2a3a4a1a2a3a4(表示四个a1 b1可为0。猜完后,马上将b1b2b3b4与a1a2a3a4作比较,并以整数P 和整数 第一次,猜 1980,回答 P=0, Q=1第二次, 猜 0731, 回答 P=1, Q=3第三次, 6703, P=4,于是,结束,只猜了三次就猜出了所默想的数几个小时在网上的紧张搜索,终于找到了在 y 年前所编写的猜数程序。正当的拿着程序准备再和玩猜数时,笑嘻嘻的对 的程序没有起到任何作用,结果是花了十次猜了想的一个长度 L为TNumber Len、 tryNum

2、ber 和 Next, 它们的说明和使用方法如下:TNumber:一个最多含有 10 个字节的数组类型,用于函数 tryNumber 的参数 tryNumber P,Q Len 时,才算猜完),需要调用 NextNext时,库会自动退TNumber=array0.9oftypedefcharfunctionLen:intTNumber;varP,Q:void tryNumber(const N,int&P,intprocedurevoid Uses#include你可以在你的 下建立一个名为 guess.in 的文件,文件的第一行包含两个n Ln L 0 至 9 的互异的整数,用空格分隔,第

3、i+1 行表示的是第 i 个要猜的数的每一位。n L,分别表示待猜数的个数和长度的相反在 guess.log 中。一般包含这些信息:Gamestarted.:开始Thenumberis:当前要猜的数为 为调用的。 Error:Numberisinvalid.:tryNumberError:InvalidcallofNext.Next函 Error:Inputfileerror.1 46 7 0 GameThenumberis 说明:为书写简便,用123456789234567891 本题的时间限制长达20 秒,可以说是比较宽松了。因此,应当尽量减一个函数来评价用一个数来猜的好坏程度。我选择的函

4、数是 ,其中 123456789另外,由于筛法耗时相当长,使得20秒的时限变得捉襟见肘。加了优化之program guess; const limit=2000;/当表中的数不多于 limit 时,使用type point=re;re=record/结点类var n,tot,i,j,k,best,sums,sumt,tem:longint; t:array0.10,0.10oflongint;/ti,j记录返回(i,j)的可能数 f:array 0.9 of boolean;/fi记录数字 i 是否用过 if v=n with tail do foru:=0to9do if not fu th

5、en beginprocedurecal(varx,u:Tnumber);/执行筛法,x ithenflag:=true;while pnil dofor i:=0 to n-1 do then beginifup.ci=itheninc(sums) then elsefori:=1tondotot:=tot*(11-whiletotlimit/当表中的数多于 limit 时,随机选择询问的fori:=1tokdop:=p.next; fori:=0 to 9dofori:=0ton-1doup.ci:=i; whiletot1/当表中的数在 2limit 之间时,找一个使得目标/ fori:=0to9dofori:=0ton-1doup.ci:=i; for i:=1 to tot do for j:=0 to n-1 dothen beginifuq.cj=jtheninc(sums) f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论