05年百度之星答案楼天成
2005年高考作文题汇编
2005年高考作文题汇编全国卷1题目:(河北、河南、安徽、山西等地)天星最新快报 2005高考作文安微卷出人意料和情理之中有一次人们问丹麦物理学家玻尔教授:"你创建了一个第一流的物理学派,有什么秘诀?"不料玻尔却回答说:"因为我不怕在学生面前显露我的愚蠢。
"听到这个回答,大家都感到十分诧异和不解。
玻尔的回答确实出人意料,但仔细想想又在情理之中。
生活中,我们常常会遇到类似的情况,请以"出人意料和情理之中"为话题,自定立意,自选文体,自拟标题,写一篇不少于800字的文章。
所写内容必须在话题范围之内。
全国卷2题目: (黑龙江、吉林、广西等地区用)阅读下面的文字,根据要求作文(60分)工厂的角落里,几块形状各异的锈铁锭不甘寂寞地聊了起来。
甲:我想成为机器人,现代化建设最需要我。
乙:我愿意做成螺丝钉,很多地方都离不开我。
丙:我看机器人和螺丝钉的价值可不同啊!丁:他们都在寻找适合自己的位置。
生活中,每个人的位置可能不同,但各有其价值,请以"位置和价值"为话题,写一篇不少于800字的文章。
自订立意,自拟标题。
所写内容必须在话题范围之内。
全国卷3题目:(四川、云南、陕西等地区用)甲、乙两个好朋友吵架,乙打了甲一拳,甲在沙地上写了"今天我的好朋友打了我一拳"。
又一次外出时,甲不小心掉进河里,乙把他救了上来,甲在石头上刻了"今天我的好朋友救了我一命。
"乙问甲为什么要这样记录?甲说:"写在沙地上,是希望大风帮助我忘记;刻在石头上,是希望刻痕帮助我铭记。
"生活中有许多事情可以忘记的,有许多事情又是需要铭记的。
请以"忘记和铭记"为话题,写一篇不少于800字的文章。
自定立意,自选文体,自拟标题。
所写内容必须在话题范围之内。
全国卷4题目: (山东) 皇帝要建宫殿,召集百将,木匠和石匠暗中竞争,木匠责备小徒弟,小徒弟心中不平,将木匠的尺子弄短了一截,而尺子等工具都是进贡的木材,这样木柱就短了一块,木匠和徒弟都面临杀头的局面。
2006年百度之星程序设计大赛试题初赛题目
2006年百度之星程序设计大赛试题初赛题目2006 年百度之星程序设计大赛初赛题目1饭团的烦恼“午餐饭团“是百度内部参与人数最多的民间组织。
同一个部门的,同一间大学的,同一年出生的,用同一种型号电脑的,员工们总是以各种理由,各种借口组织各种长久的,临时的饭团。
参加饭团,不仅可以以优惠的价格尝到更加丰富的菜式,还可以在吃饭的时候和同事们唠唠嗑,吹吹水,增进感情。
但是,随着百度的员工越来越多,各个饭团的管理随即变得烦杂。
特别是为了照顾员工们越来越挑剔的胃口,饭团的点菜负责人背负的责任越来越大。
现在,这个重担落在百度之星的肩上,因为,你们将要为所有的百度饭团设计一个自动点菜的算法。
饭团点菜的需求如下:1 .经济是我们要考虑的一个因素,既要充分利用百度员工的午餐补助,又不能铺张浪费。
因此,我们希望最后的人均费用越接近12 元越好。
2 .菜式丰富是我们要考虑的另一个因素。
为简单起见,我们将各种菜肴的属性归结为荤菜,素菜,辛辣,清淡,并且每个菜只能点一次。
3 .请紧记,百度饭团在各大餐馆享受8 折优惠。
输入数据描述如下:第一行包含三个整数N ,M ,K (0<N<=16 ,0<M<=N ,0<K<=12 ),分别表示菜单上菜的数目,饭团需要点的菜的数目,就餐的人数。
紧接着N 行,每行的格式如下:菜名(长度不超过20 个字符)价格(原价,整数)是否荤菜( 1 表示是,0 表示否)是否辛辣( 1 表示是,0 表示否)例:水煮鱼30 1 1紧接着是 a b c d 四个整数,分别表示需要点的荤菜,素菜,辛辣,清淡菜的数目。
输出数据:对于每一测试数据,输出数据包含M+1 行,前M 行每行包含一个菜名(按菜名在原菜单的顺序排序)。
第M+1 行是人均消费,结果保留两位小数。
说明:1 .结果菜单的数目应该恰好为M ,荤菜,素菜,辛辣,清淡菜的数目恰好为a ,b ,c ,d 。
在满足这样的前提下,选择人均消费最接近12 元的点菜方案。
2005学年第二学期成高班第二次月考语文试卷
2005学年第二学期成高班第二次月考语文试卷第Ⅰ卷(选择题,共30分)一、(18分,每小题3分)1.下列词语中加点的字的读音,全都不相同的一组是()A.漂.亮飘.零剽.窃成果虚无缥.缈B.堤堰.酽.茶偃.仰啸歌揠.苗助长C.懦.弱儒.雅妇孺.皆知耳濡.目染D.牺.牲栖.息不值一哂.挥洒.自如2.下列各组词语中,有错别字的一组是()A.卓尔不群出其不意兵荒马乱名副其实B.毕恭毕敬垂拱而治世外桃源提纲挈领C.以逸代劳改弦更张盘根错节锱铢必较D.未竟事业名门望族积重难返座无虚席3.依次填入下列各句横线处的词语,最恰当的一组是()(1)雅典奥运会上,当我国女排以5:3战胜俄罗斯女排时,体育馆内顿时爆发出___的欢呼声。
(2)这家公司___世界同类行业之首,是因为两年内有三项产品获得国际金奖。
(3)绿岛商铺既有浓郁的怀旧意味,满足人们的怀旧___又提供现代商业模式,制造挣钱的机会。
(4)个人幸福___从物质生活得到快乐和幸福,___包括从精神生活得到的快乐。
A.震耳欲聋跃居情结不仅是/也B.振聋发聩跻身情绪不是/而是C.振聋发聩跃居情绪不仅是/也D.震耳欲聋跻身情结不是/而是4.下列各句中,加点的成语使用恰当的一句是()A.国产大片《英雄》在我市上映时,电影票极其难买,电影院内中途退场的观众也是凤毛麟角....。
B.她对公婆摧眉折腰....,很是孝顺。
C.中东、西亚地区的民族问题盘根错节....,希图用“简单化”的手段解决问题是有害的。
D.校长十分关心贫困生,三顾茅庐....了解张三的家庭情况,想法解决他的生活问题。
5.下列各句中没有语病的一句是()A.加大监督力度,制止和规范权力消费行为已成为反腐败斗争中迫在眉睫的问题。
B.据《人民日报》报道,目前我国居民43%的储蓄用于子女的教育,这个比例已超过了用于养老或购房的储蓄比例。
C.他唱的这首歌比任何特效药都好,把一天工作的疲劳与瞌睡都被赶到九霄云外去了。
D.我们的乒乓球运动三十年来长盛不衰,不论是男女项目、团体项目还是各个单项,都处于世界领先地位。
【VIP专享】2005年全国高考物理试题全集12套(二).doc
学院ACM实验室情况及ACM介绍
ACM Association of Computing Machinery
ACM-ICPC(ACM International Collegiate Programming Contest 国际大学生程序设计竞赛)由国 际计算机界历史悠久、颇具权威 性的组织 ACM(Association for Computing Machinery 计算机协 会)主办
题库
国内:
北京大学 浙江大学 杭电 哈工大 武汉大学
国外:
http://acm.timus.ru 数学题较多,OI选手必做 http://acm.uva.es 国外最大题库,人很多, Forum也很热闹 http://acm.sgu.ru 题较难
赛事结构
• ACM/ICPC目前已包括下列各等级的赛事: · 本地赛 各所大学选拔队伍的比赛 • · 预赛 从各高校的代表队中选拔队伍参加 网络区域赛 • · 区域赛 在每年9至12月举行,选拔队伍 参加世界总决赛 • · 世界决赛 由来自世界各所高校 的数十支队伍争夺世界总冠军
参赛需要什么准备?
信息工程学院OJ地址 222.196.33.254/JudgeOnline
What can we get from ACM?
• • • • • Coding ability Algorithm ability English ability Cooperation Friendship
楼天成
江六彬 通信0701班 • 队员: 米桧 通信0801班 李茂华 通信0802班 彭春洪 电子0801班 谢世茂 通信0901 刘寅 通信0902 徐勇 电子0903 刘耀儆 通信0902 吴禄高 通信0901
天星教育2005届高三第二次大联考(精)
试卷总分:150分考试时间:150分钟本试卷分第Ⅰ卷(选择题)和第Ⅱ卷(非选择题)两部分。
第Ⅰ卷(选择题共42分)注意事项:1.答第Ⅰ卷前,考生务必将密封线内的内容填写完整。
2.每小题选出答案后,用钢笔或圆珠笔将答案填写在第Ⅱ卷卷头处。
3.本卷共14小题,共42分。
在每小题给出的四个选项中,只有一项符合题目要求。
一、(18分,每小题3分)1.下列词语中加点字的读音完全相同的一组是()A.瓶塞艰涩瑟缩色厉内荏B.马厩灵柩臼齿一蹴而就C.滞留投掷对峙栉风沐雨D.休憩收讫栖身锲而不舍2.下列词语中没有错别字的一组是()A.讴歌关照时过境迁坐收渔人之利B.凄测荟萃饱经沧桑一叶障目,不见泰山C.殉情编篡徇私舞弊千里之堤,溃于蚁穴D.嚼腊讫今众口铄金钟鼓馔玉不足贵3.依次填入下列各句横线处的词语,最恰当的一组是()①盛大公司的是从网络游戏逐步扩展到互动娱乐传媒乃至上下游媒体、广告和制造产业,建立立体化的现实的盛大娱乐世界。
②即使郎平出任美国女排主教练,率队与中国女排决战,甚至2008年奥运会上,中美两国女排也将决一雌雄,她也永远是中国人的骄傲,我们就应该摒弃一切世俗的,并衷心地祝福她。
③那青青的荷叶,或一两株高擎荷盖,或三五丛傍水而居,为我的休闲生活平添许多乐趣,那碧绿欲滴的万顷荷塘,更透出一阵阵幽香,一缕缕清韵,让人难以。
A.图景偏见释怀B.远景成见忘怀C.远景偏见忘怀D.图景成见释怀4.下列加点熟语使用不当的一项是()A.在“东方文明和儒学文明”框架里,华夏文化,一言以蔽之,就是一个注重群体整合的文化,而在西方文化的架构中,一言以蔽之,就是一个注重个性的个人文化。
B.“快刀斩乱麻,先行动起来再说,你如果既考虑中国足球的体制问题,又考虑足球俱乐部的商业运作问题,那将一事无成”,国家体育总局发言人斩钉截铁地说。
C.国家工商总局声称,大规模地清查和销毁“苏丹红”,只不过是目前我国食品安全生产在缺少法律规定下的一种权宜之计。
2005年中考名题(部分答案)
2005年中考名题(部分答案),1. 化简==,以下判断正确的是乙的解法是:( )A. 甲的解法正确,乙的解法不正确B. 甲的解法不正确,乙的解法正确C. 甲、乙的解法都正确D. 甲、乙的解法都不正确2. 分析图6①,②,④中阴影部分的分布规律,按此规律在图6③中画出其中的阴影部分.答:如图3、一根绳子弯曲成如图3-1所示的形状。
当用剪刀像图3-2那档沿虚线a把绳子剪断时,绳子被剪为5段;当用剪刀像图3-3那样沿虚线b(b∥a)把绳子再剪一次时,绳子就被剪为9段。
若用剪刀在虚线a,b之间把绳子再剪(n-2)次(剪刀的方向与a平行),这样一共剪n 次时绳子的段数是;(A )A、4n+1 B.4n+2 C.4n+3 D.4n+54、下图的几何体由若干个棱长为数1的正方体堆放而成,则这个几何体的体积为______。
5、用同样大小的黑、白两种颜色的棋子摆设如下图所示的正方形图案,则第n个图案需要用白色棋子枚(用含有n的代数式表示)__________________________6.如图,边长为1的正方形OABC的顶点O为坐标原点,点A在x轴的正半轴上,点C在y轴的正半轴上.动点D在线段BC上移动(不与B,C重合),连接OD,过点D作DE⊥OD,交边AB 于点E,连接OE.记CD的长为t.1时,求直线DE的函数(1) 当t=表达式;(2) 如果记梯形COEB的面积为S,那么是否存在S的最大值?若存在,请求出这个最大值及此时t的值;若不存在,请说明理由;(3) 当OD2+DE2的算术平方根取最小值时,求点E的坐标.7.如图9,在平行四边形ABCD中,AD=4 cm,∠A=60°,BD⊥AD. 一动点P从A出发,以每秒1 cm的速度沿A→B→C的路线匀速运动,过点P作直线PM,使PM⊥AD .(1) 当点P运动2秒时,设直线PM与AD相交于点E,求△APE 的面积;(2) 当点P运动2秒时,另一动点Q也从A出发沿A→B→C的路线运动,且在AB上以每秒1 cm的速度匀速运动,在BC上以每秒2 cm的速度匀速运动. 过Q作直线QN,使QN∥PM. 设点Q运动的时间为t秒(0≤t≤10),直线PM与QN截平行四边形ABCD所得图形的面积为S cm2 .①求S关于t的函数关系式;②(附加题) 求S的最大值.注:附加题满分4分,但全卷的得分不超过150分.8、将一正方形纸片按图5中⑴、⑵的方式依次对折后,再沿⑶中的虚线裁剪,最后将⑷中的纸片打开铺平,所得图案应该是下面图案中的( )A B C D9、(本小题满分8分)已知线段AC=8,BD=6。
百度之星 题目分析
百度之星程序设计大赛迷宫问题度度熊是一只喜欢探险的熊,一次偶然落进了一个m*n矩阵的迷宫,该迷宫只能从矩阵左上角第一个方格开始走,只有走到右上角的第一个格子才算走出迷宫,每一次只能走一格,且只能向上向下向右走以前没有走过的格子,每一个格子中都有一些金币(或正或负,有可能遇到强盗拦路抢劫,度度熊身上金币可以为负,需要给强盗写欠条),度度熊刚开始时身上金币数为0,问度度熊走出迷宫时候身上最多有多少金币?Input输入的第一行是一个整数T(T < 200),表示共有T组数据。
每组数据的第一行输入两个正整数m,n(m<=100,n<=100)。
接下来的m行,每行n个整数,分别代表相应格子中能得到金币的数量,每个整数都大于等于-100且小于等于100。
Output对于每组数据,首先需要输出单独一行”Case #?:”,其中问号处应填入当前的数据组数,组数从1开始计算。
每组测试数据输出一行,输出一个整数,代表根据最优的打法,你走到右上角时可以获得的最大金币数目。
Sample Input23 41 -1 1 02 -2 4 23 5 1 -902 21 11 1Sample OutputCase #1:18Case #2:4解: 根据题意, 要从所有走法中找出路线上最大的数值和(求一个数值的问题, 往往是动态规划算法的暗示), 而且路线不能走回头路, 显然左上角的起点处, 只能向下或向右走到相邻格子, 也就是说(i,j)到右上角的最大路线建立在相邻格子到右上角最大路线的基础之上,继续分析, 如图所示其中(i,j)点不在边上, 从它出发有上、下、右3种走法, 显然与左上角只有2种走法是不同的, 而且问题要求不能走回头路, 也就是说:(1)(i,j)处, 如果第一步向下走, 那么在这一列的后续步骤中不能往上走(即可以继续向下或向右走到相邻格子), 只有走到相邻格子了, 才没有方向限制。
(2)同理,(i,j)处,如果第一步向上走, 那么在这一列的后续步骤中不能往下走(即可以继续向上或向右走到相邻格子), 只有走到相邻格子了, 才没有方向限制。
2005年中考第二次模拟考试
2005年中考第二次模拟考试语文试卷(命题:三鑫双语学校:杨立军)说明:1.全卷满分120分(含4分卷面分)。
考试时间100分钟。
2.设附加题共10分,得分作为补偿分计入总分,但全卷总分不得超过120分。
一积累与运用(14分)1.默写,或根据课文填空。
(10分)(1)________________,悠然见南山。
(陶渊明《饮酒》)(2) 闲来垂钓碧溪上,____ _。
(李白《将进酒》)(3) 刘禹锡在《酬乐天扬州初逢席上见赠》一诗中,用来比喻新事物必将取代旧事物的句子是________________,________________。
(4) 默写《论语》中孔子教育弟子勤学好问的句子:_________________,_________________。
(5)默写马致远的《天净沙·秋思》。
________________,_______________,_______________。
________________,_______________。
2.找出下面这则招聘广告中的语病和错别字,并在原文中修改。
(4分)本公司属中外合资中型企业。
为了扩大产品的国际市场份额,宣传新的系列产品,急需能熟炼使用英语的对外营销人员10名。
此次招聘本着公开、公平竟争为原则。
欢迎有意者前来面试。
二文言文阅读(10分)十年春,齐师伐我,公将战。
曹刿请见。
其乡人曰:“肉食者谋之,又何问焉?”刿曰:“肉食者鄙,未能远谋。
”乃入见,问:“何以战?”公曰:“衣食所安,弗敢专也,必以分人。
”对曰:“小惠未徧,民弗从也。
”公曰:“牺牲玉帛,弗敢加也,必以信。
”对曰:“小信未孚,神弗福也。
”公曰“小大之狱,虽不能察,必以情。
”对曰:“忠之属也。
可以一战,战则请从。
”公与之乘,战于长勺,公将鼓之。
刿曰:“未可,齐人三鼓。
”刿日:“可矣。
”齐师败绩。
公将驰之。
刿曰:“未可。
”下视其辙,登轼而望之,曰:“可矣。
”遂逐齐师。
ACRush_楼天成回忆录
ACRush 楼天成回忆录利用假期空闲之时,将这几年GCJ ,ACM ,TopCoder 参加的一些重要比赛作个回顾。
首先是GCJ2006 的回忆。
Google Code Jam 2006一波三折:Google Code Jam 2006 是我第一次到美国参加现场的程序设计比赛。
Google Code Jam 2006 的比赛地点设在了纽约,这次纽约之行之前的签证出了不小的问题,这里非常感谢大家对我们的关心,特别感谢吴总(wyy )和鲁小石的帮助,使我最终踏上纽约之旅。
从北京到纽约的飞行时间是13 个半小时,由于是第一次做超过8 小时的飞机,没有什么必要的经验和准备,路途非常疲劳。
一到宾馆就睡了,结果由于手机铃声的时间使用的是东方时间,差了12 个小时,一觉把所有事情连晚饭一起都睡过了,随便吃点东西就继续睡了。
之后的所有现场比赛我都养成了提前睡觉的习惯,以保证充足的体力。
比赛过程:比赛时精神状态还算可以,但是分配了比赛房间之后发现自己和tomek 分在一个房间,真是很不爽;在和旁边的zhuzeyuan 抱怨的时候,发现他和Petr 一个房间,彼此彼此吧。
下面就是比赛过程了,总体来说比赛过程比想象的艰苦,不过其实在System Test 之前的结果还是很满意的,先简单描述一下 3 道题目吧。
250 分的题目是一道平面极值问题,给定n 个点,求一条直线,使得n 个点到这条直线的y 方向截距总和最小。
我回忆起金凯在2003 年集训队论文中报告中讲到的很类似的一道题目,记得一个重要结论是这条直线一定经过两个点,虽然题目有些不同,但是很快得到了相同的重要性质:这条直线一定经过两个点。
这样很容易得到一个O(n3) 的算法。
500 分的题目是一道反Hash 函数问题,给定一个Hash 函数和x ,求一个最小的非负数y 使得H=x 。
估计了一下,单向搜索需要26^8 ,于是我改用双向搜索,这样就变成了26^4 。
酷酷party
酷酷party
作者:
来源:《课堂内外(小学版)》2005年第03期
小cool龙:新学期又开始了,休息了一个寒假,大家一定干劲十足吧?可别忘了分一点干劲参加“酷酷party”的答题哦!移动用户发短信“yy+短信内容”至575752218(0.5元/条)参与活动。
也可以直接写信至:(400013)重庆市渝中区双钢路3号课堂内外杂志社小cool龙参与答题。
金点子
妈妈要小cool龙测出家里所有家具的门的周长,因为妈妈要给所有的门加装饰物。
小cool龙用直尺很快测出了所有长方形的门的周长,却不知道怎样用直尺测出两扇曲线形的门的周长。
小朋友,你知道怎么测吗?
IQ大比拼
1. 什么东西没吃时是绿的,吃进嘴里是红的,吐出来是黑的?
2. 什么事你可以做,我可以做,但我们不能一起做?
3. 问什么问题,大家总是回答:没有。
4. 什么时候,网可以提水?
5. 有一根棍子,要使它变短,但不许锯断,折断或削短,该怎么办?
2005年1月号答案
“金点子”答案:小cool龙是用镜子将阳光反射到地面,引起了人们的注意而得救的。
幸运获奖者:刘博宇(辽宁)潘思杰(重庆)韩文锴(安徽)
“IQ大比拼”答案:
1. 因为星星会闪;
2. 螺丝帽;
3. 明天;
4. 大海。
幸运获奖者:陈浩然(湖北)李诗瑶(重庆)曹磊(河南)。
2005学年第一学期高二物理期中试卷
2005学年第一学期杭州二中高二年级期中考试物理试卷命题、校对:张焕标一、单项选择题(每小题4分)1.某物体在水平桌面上,受到一个水平推力F的作用,作用时间为t,物体没有被推动,则F在这个过程中的冲量为A.0 B.Ft C.mgt D.条件不足,无法计算2.弹簧振子在光滑水平面上做简谐振动,在振子向平衡位置运动的过程中A.振子所受的回复力逐渐增大B.振子的位移逐渐增大C.振子的速度逐渐减小D.振子的加速度逐渐减小3.关于布朗运动的说法中正确的是A.通过显微镜看到的是悬浮微粒的分子的运动B.通过显微镜看到的是悬浮微粒的运动C.通过显微镜看到的是水分子的运动D.悬浮微粒越大,温度越高,布朗运动越激烈4.下列说法中正确的是A.随着制冷技术的发展,我们一定能使所有的分子都停止运动B.保持温度不变,在压缩气体时,气体的压强增大,是因为分子间的斥力增大造成的C.热力学温度每一度的大小跟摄氏温度的每一度的大小相同D.气体的体积等于气体所有分子的体积之和5.对于机械波的性质,下列说法正确的是A.由v=λf可知,波长为2m的声波比波长为1m的声波传播的速度大1倍B.由v=λf可知,提高振源的频率,则它产生的波的传播速度也将增大C.同一机械波,当它通过不同介质时,频率一定不变D.同一机械波,通过不同介质时只有速度保持不变6.如图中的曲线表示一列沿x轴负方向传播的横波在Array某一时刻的图像,若波速为20 cm/s,那么经过3/4s,横坐标x=10 cm的质点的位移y为A.4 cmB.-4 cmC.12 cmD.07.一定质量的理想气体与外界没有热交换A.若气体分子的平均动能增大,则气体的体积可能不变B.若气体分子的平均动能增大,则气体的体积一定增大C.若气体分子的平均距离增大,则气体分子的平均动能一定增大D.若气体分子的平均距离增大,则气体分子的平均动能一定减小8.关于下列场强公式的适用范围,哪些是不正确的A.E=F/q适用于各种电场B.E=U/d适用于匀强电场C.E=KQ/r2适用于真空中点电荷产生的电场D.A、B两式的适用范围也应注明是在真空中9.有人站在火车轨道旁,一列迎面高速驶来的火车正在鸣笛,则在火车驶近过程中他听到的鸣笛声的频率将A .越来越大B .越来越小C .不随时间变化D .不能确定10.如图所示,在xoy 坐标系原点处有一正电荷Q , 另一负点电荷-2Q 放在哪里能使P 点(1,0)的电场强度为零?A .放在x 轴上,x >1B .放在x 轴上,x < 0C .放在x 轴上, 0 < x <1D .放在y 轴上,y < 011.将一个力电传感器接到计算机上,就可以测量快速变化的力,用这种方法测得的某单摆摆动时悬线上拉力F 的大小随时间t 变化的曲线如图所示,.某同学根据此图线提供的信息做出了下列判断,其中正确的是A .摆球摆动的周期T=0.6sB .t=0.2s 时,摆球正经过最低点C .t=1.1s 时,摆球正经过最低点D .摆球在摆动过程中机械能守恒二、填空、实验题(每格3分)12.一列横波在t=0时刻的波形如图所示,传播方向沿X 轴正方向。
05年概率试题
05年概率试题
殷菊桥
【期刊名称】《数理天地:初中版》
【年(卷),期】2006(000)006
【摘要】1.考查基本概念例1 4个红球、3个白球、2个黑球放入一个不透明的袋子里,从中摸出8个球,恰好红球、白球、黑球都摸到,这件事情( ). (A)可能发生. (B)不可能发生. (C)很可能发生. (D)必然发生. (05年广东) 解共9个球,摸出8个球,只剩下一个, 所以各色球都可以摸到,故选(D).
【总页数】2页(P19-20)
【作者】殷菊桥
【作者单位】湖北省孝感市车站中学;432011
【正文语种】中文
【中图分类】G634.6
【相关文献】
1.试题得分概率和答题时间概率分布自适应学习整定
2.“概率及概率分布列”试题不能随意编造
3.核心素养背景下初中统计与概率教学的思考\r——从一道中考试题谈统计与概率教学
4.“统计与概率”试题精选
5.概率与统计试题精选
因版权原因,仅展示原文概要,查看原文内容请购买。
2005年佛山升中数学试卷参考答案
2005年佛山市高中阶段学校招生考试数学试卷参考答案及评分标准(课改实验区)11.抽样调查 12.302x <<13.60 14.4 15.答案不唯一,如1y x =+,2y x =,(只要答案正确即可得满分).三、解答题答案及评分标准:16.甲(或电动自行车), 2, 乙(或汽车), 2, 18, 90 注:此题每空1分,合计6分.17.解法一:原式2224(2)(2)(2)(2)x x x x x x x x⎡⎤+--=-⎢⎥-+-+⎣⎦(通分一个1分) ····· 2分 22444x x x -=-(合并2分、去括号1分) ·············································· 5分 4x=. ······························································································· 6分 解法二:原式11(2)(2)()22x x x x x -+=--+ ··········································· 1分 1(2)(2)1(2)(2)22x x x x x x x x -+-+=--+ ······························· 3分 224x x x x x+-=-=. ······························································ 6分 注:可能还有其它解法,依据各得分点酌情给分.18.解:(写作法共4分)法一:(1)以O 为圆心,任意长为半径画弧,分别交OA 、OB 于C 、D 两点; ····· 1分(2)分别以C 、D 为圆心,大于12CD 的长为半径画弧,两弧交于E 点(不与O 点重合)注:也可直接以A 、B 为圆心作图. ······················································ 2分 (3)射线OE 交弧AB 于F ; ······························································· 3分 则线段OF 将扇形AOB 二等分. ··························································· 4分 法二:(1)连接AB ;(2)分别以A 、B 为圆心,大于12AB 的长为半径画弧,两弧交于C 点(不与O 点重合);························································································· 2分 (3)连接OC 交弧AB 于D 点; ··························································· 3分 则线段OD 将扇形AOB 二等分. ··························································· 4分 (作图共2分)保留作图痕迹,作图准确. ·············································· 6分 19.解:根据题意,△ABC 是直角三角形, ···················· 1分且 4.5BC =米,35ACB ∠=. ······························ 2分tan 35ABBC=∵, ················································ 4分 tan35AB BC =∴. 4.50.70 3.2≈⨯≈(米). ······· 5分 第19题图答:帐篷支撑竿的高约为3.2米. ····························· 6分 20.解法一:设口袋中有x 个白球,······························································ 1分由题意,得105010200x =+, ··································································· 3分 解得30x =. ····················································································· 5分 答:口袋中大约有30个白球. ······························································· 6分 注:这里解分式方程是同解变形,可不检验,因而不给分. 解法二:P ∵(50次摸到红球)=5012004=, ·········································· 2分 110404÷=∴.401030-=∴. ·························································· 5分 答:口袋中大约有30个白球. ······························································· 6分 四、解答题答案及评分标准: 21.解:(1)1122PD P D ∵∥,∴△11PD O ∽△22P D O ,······························· 2分 111222PD D O P D D O =∴,即1122b l b l =. ······························································ 4分 (2)1122b lb l =∵且1 3.2b =cm ,22b =cm ,18l =m , ································ 5分23.282l =∴.(注:可不进行单位换算) ················································· 6分25l =∴m . ······················································································· 7分答:小“E ”的测试距离是25l =m . ······················································· 8分22.解法一:设三人普通房和双人普通房各住了x 、y 间, ······························· 1分根据题意,得32501500.51400.51510x y x y +=⎧⎨⨯+⨯=⎩, ·········································· 4分解得813.x y =⎧⎨=⎩,······················································································ 7分答:三人间普通客房、双人间普通客房各住了8、13间. ···························· 8分 解法二:设三人普通房和双人普通房各住了x 、y 人. ······························· 1分根据题意,得501500.51400.5151032x y x y+=⎧⎪⎨⨯⨯+⨯⨯=⎪⎩,···································· 4分 解得2426.x y =⎧⎨=⎩, ····················································································· 7分且2483=(间),26132=(间). 答:三人间普通客房、双人间普通客房各住了8、13间. ···························· 8分 解法三:设三人普通房共住了x 人、则双人普通房共住了(50)x -人, ··········· 1分根据题意,得501500.51400.5151032x x-⨯⨯+⨯⨯=. ····························· 4分 解得24x =,5026x -= ····································································· 7分且2483=(间),26132=(间).答:三人间普通客房、双人间普通客房各住了8、13间. ························································································· 8分23.解:(1)甲的中位数是94.5,乙的众数是99. ········································ 4分注:此题因对数据要进行整理、分析,故每空给2分.(2)学生的回答是多样的(只要学生说的有道理即可)例如:甲考试成绩较稳定,因为方差、极差较小(或甲的平均数比乙的平均数高);乙有潜力,因为乙的最好成绩比甲的最好成绩高等. ··········································· 7分 (3)10次测验,甲有8次不少于92分,而乙仅有6次,若想获奖可能性大,可选甲参赛;若想拿到更好的名次可选乙,因为乙有4次在99分以上. ·················· 9分 注:统计的解释和推断往往不是非此即彼的,从不同角度谈出合理的看法即可. 24.解:(1)125a =-,4c =,10EF =米.(2分+2分+3分) ·················· 7分 (2)误差估计如下:解法一: 2.6 2.7<<∵, 2.65≈,10.6≈,100.6≈∴. ································································ 8分 ∴差的近似值约为0.6米. ······················································· 9分解法二:=∵10到11之间,可得10.510.6<=<,0.5100.6<<∴, ························································· 8分 ∴差的近似值约为0.5或0.6米. ··············································· 9分 注:答案应为0.5或0.6,只写一个答案的不扣分.没有误差估计过程不扣分. 五、解答题答案及评分标准:25.解:(1)甲 √ 乙 × ················································ 2分(2)证明(1)中对甲的判断: 连接EF 、FG 、GH 、HE , ····························································· 3分E ∵、F 分别是AB 、BC 的中点,∴EF 是△ABC 的中位线. ················ 4分 ∴EF AC ∥,12EF AC =, ······························································· 5分 同理,HG AC ∥,12HG AC =, ························································ 6分∴EF HG ∥,EF HG =.∴四边形EFGH 是平行四边形. ···················· 7分 注:可反例说明(1)中对乙的判断:举矩形、菱形、等腰梯形等例子(用文字或图形说明,也给5分).若将乙看作是正确的命题去证明,过程准确,给3分. (3)类似于(1)中的结论甲、乙都成立(只对一个给2分). ··················· 10分 26.解:(1)设直线OM 的函数关系式为y kx =,1()P a a ,,1()R b b,. ············ 1分则1()M b a,,11k b a ab=÷=∴. ··························································· 2分 ∴直线OM 的函数关系式为1y x ab=. ·················································· 3分 (2)Q ∵的坐标1()a b ,满足1y x ab=,Q ∴点在直线OM 上. (或用几何证法,见《九年级上册》教师用书191页) ······························· 4分 四边形PQRM 是矩形,12SP SQ SR SM PR ====∴. SQR SRQ ∠=∠∴. ··········································································· 5分∵2PR OP =,12PS OP PR ==∴.POS PSO ∠=∠∴. ······················· 6分 PSQ ∠∵是△SQR 的一个外角,2PSQ SQR ∠=∠∴.2POS SQR ∠=∠∴ ·············································· 7分 QR OB ∵∥,SOB SQR ∠=∠∴. ······················································ 8分 2POS SOB ∠=∠∴. ········································································· 9分 13SOB AOB ∠=∠∴. ········································································ 10分 (3)以下方法只要回答一种即可.方法一:利用钝角的一半是锐角,然后利用上述结论把锐角三等分的方法即可. 方法二:也可把钝角减去一个直角得一个锐角,然后利用上述结论把锐角三等分后,再将直角利用等边三角形(或其它方法)将其三等分即可. ············· 11分。
2012百度之星初赛题目
初赛第一场A:度度熊就是要第一个出场∙查看∙提交∙提交记录时间限制:1000ms内存限制:65536kB描述Baidu年会安排了一场时装秀节目。
N名员工将依次身穿盛装上台表演。
表演的顺序是通过一种“画线”抽签的方式决定的。
首先,员工们在一张白纸上画下N条平行的竖线。
在竖线的上方从左到右依次写下1至N代表员工的编号;在竖线的下方也从左到右依次写下1至N代表出场表演的次序。
接着,员工们随意在两条相邻的竖线间添加垂直于竖线的横线段。
最后,每位员工的出场顺序是按如下规则决定的:每位员工从自己的编号开始用手指沿竖线向下划,每当遇到横线就沿横线移动到相邻的竖线上去,直到手指到达竖线下方的出场次序编号。
这时手指指向的编号就是该员工的出场次序。
例如在下图的例子中,度度熊将第二名出场,第一名出场的是员工4。
员工在画横线时,会避免在同一位置重复画线,并且避免两条相邻的横线连在一起。
即下图所示的情况是不会出现的:给定一种画线的方案,员工编号为K的度度熊想知道自己是不是第一位出场表演的。
如果不是,度度熊想知道自己能不能通过增加一条横线段来使得自己变成第一位出场表演。
输入为了描述方便,我们规定写有员工编号的方向是y轴正方向(即上文中的竖线上方),写有出场次序的方向是y轴负方向(即上文中的竖线下方)。
竖线沿x轴方向(即上文中从左到右)依次编号1至N。
于是,每条横线的位置都可以由一个三元组确定,其中xl, xr是横线左右两个端点所在竖线的编号,y是横线的高度。
输入第一行是一个整数T(T <= 50),代表测试数据的组数。
每组数据的第一行包含三个整数N, M, K( 1<=N<=100, 0<=M<=1000,1<=K<=N),分别代表参与表演的员工人数、画下的横线数目以及度度熊的员工编号。
每组数据的第2-M+1行每行包含3个整数, xl, xr, y, (1 <= xl < N, xr = xl + 1, 0 <= y <= 1,000,000),描述了一条横线的位置。
2005年百度之星程序设计大赛试题初赛题目
2005年百度之星程序设计大赛试题初赛题目第一题(共四题 100 分):连续正整数( 10 分)题目描述:一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和,如:15=1+2+3+4+515=4+5+615=7+8请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。
输入数据:一个正整数,以命令行参数的形式提供给程序。
输出数据:在标准输出上打印出符合题目描述的全部正整数序列,每行一个序列,每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。
如果结果有多个序列,按各序列的最小正整数的大小从小到大打印各序列。
此外,序列不允许重复,序列内的整数用一个空格分隔。
如果没有符合要求的序列,输出“NONE” 。
例如,对于 15 ,其输出结果是:1 2 3 4 54 5 67 8对于 16 ,其输出结果是:NONE评分标准:程序输出结果是否正确。
#include<iostream.h>#define N 65void main(){int i,j,sum=0,k,flag=0;for(i=1;i<=N/2;i++){sum=0;for(j=i;j<=N/2+1;j++){sum=sum+j;if(sum==N){flag=1;for(k=i;k<=j;k++)cout<<k<<" ";cout<<endl;}}}if(flag==0)cout<<"none"<<endl;}百度之星程序设计大赛试题 -2第二题(共四题 100 分):重叠区间大小( 20 分)题目描述:请编写程序,找出下面“ 输入数据及格式” 中所描述的输入数据文件中最大重叠区间的大小。
对一个正整数 n ,如果 n 在数据文件中某行的两个正整数(假设为 A 和 B )之间,即 A<=n<=B 或A>=n>=B ,则 n 属于该行;如果 n 同时属于行 i 和 j ,则 i 和 j 有重叠区间;重叠区间的大小是同时属于行 i 和 j 的整数个数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include <unistd.h>//bufconst int bufsize=128*1024;int bufL,bufP;char buf[bufsize];//segmentsconst int maxn=1000005;int n;unsigned int A[maxn],B[maxn];//sortconst int countsize=65536;int arcA[maxn],arcB[maxn],turnB[maxn];int count[countsize],tmp[maxn];//solveunsigned int maxB[maxn],maxL[maxn];void swap(unsigned int &a,unsigned int &b){ unsigned int t=a;a=b;b=t; }char readchar(){ if (bufL==bufP){ bufL=read(0,buf,bufsize);if (bufL==0)return 0;bufP=0; }return buf[bufP++]; }bool readnumber(unsigned int &v){ char c;do{ c=readchar();if (c==0)return false;}while (c<'0' || c>'9');for (v=0;c>='0' && c<='9';c=readchar())v=v*10+(c-48);return true; }void init(){ bufL=bufP=0;for (n=0;readnumber(A[n+1]) && readnumber(B[n+1]);) { n++;if (A[n]>B[n])swap(A[n],B[n]); } }void count_sort(unsigned int A[],int arc[]){ int i;//lower bitmemset(count,0,sizeof(count));for (i=1;i<=n;i++)count[A[i]&65535]++;for (i=1;i<countsize;i++)count[i]+=count[i-1];for (i=n;i>=1;i--)tmp[count[A[i]&65535]--]=i;//higher bitmemset(count,0,sizeof(count));for (i=1;i<=n;i++)count[A[i]>>16]++;for (i=1;i<countsize;i++)count[i]+=count[i-1];for (i=n;i>=1;i--)arc[tmp[i]]=(count[A[tmp[i]]>>16]--); }void preprocess(){ count_sort(A,arcA);count_sort(B,arcB);for (int i=1;i<=n;i++)turnB[arcB[i]]=i; }void checkmax(double &answer,unsigned int S,unsigned int T) { if (S>T)return;double t=double(T)-double(S)+1;if (t>answer)answer=t; }#define lowbit(n) (((n)^((n)-1))&(n))void add_maxB(int i,unsigned int v){ for (;i<=n;i+=lowbit(i))if (v>maxB[i])maxB[i]=v; }void add_maxL(int i,unsigned int v){ i=n+1-i;for (;i<=n;i+=lowbit(i))if (v>maxL[i])maxL[i]=v; }unsigned int get_maxB(int i){ unsigned int t=0;for (;i>0;i-=lowbit(i))if (maxB[i]>t)t=maxB[i];return t; }unsigned int get_maxL(int i)const int max_strlen=512*1024;const int hashsize=30011;struct THashPoint{char *s1,*s2;THashPoint *next;};char lines[max_strlen],*s1,*s2;FILE *f;THashPoint *Hash[hashsize];bool read_str(){lines[0]=0;fgets(lines,max_strlen,f);if (strlen(lines)>0 && lines[strlen(lines)-1]=='\n') lines[strlen(lines)-1]=0;if (strlen(lines)<3)return false;for (int i=0;lines[i];i++)if (lines[i]==' ' || lines[i]=='\t'){s1=lines;s2=lines+i+1;lines[i]=0;return true;}return false;}int HashTable_function(char *s){int address=strlen(s)%hashsize;for (int i=0;s[i];i++)address=(address*107+s[i]+128)%hashsize; return address;}void HashTable_Insert(){int address=HashTable_function(s1); THashPoint *p;for (p=Hash[address];p!=NULL;p=p->next)if (strcmp(p->s1,s1)==0){p->s2=new char[strlen(s2)+1];strcpy(p->s2,s2);return;}p=new THashPoint;p->s1=new char[strlen(s1)+1];p->s2=new char[strlen(s2)+1];strcpy(p->s1,s1);strcpy(p->s2,s2);p->next=Hash[address];Hash[address]=p;}void Print(char *s){int address=HashTable_function(s); THashPoint *p;for (p=Hash[address];p!=NULL;p=p->next) if (strcmp(p->s1,s1)==0){printf("%s",p->s2);return;}printf("%s",s);}void Init_HashTable(){f=fopen("dict.txt","r");while (read_str())HashTable_Insert();fclose(f);}int main(){Init_HashTable();//Mainfreopen("text.txt","r",stdin);bufL=bufP=0;int L=0;for (char c;(c=readchar())!=0;)if (c==' ' || c=='\t' || c=='\n'){lines[L]=0;Print(lines);printf("%c",c);{char *t_text=text;textL*=2;text=new char[textL];memcpy(text,t_text,L);}memcpy(text+L,buf,bufL);L+=bufL;}text[L]=0;}bool Prime(int n){for (int i=2;i*i<=n;i++)if (n%i==0)return false;return true;}void Prepare(){int N=0,i;for (i=0;i<L;i++)if (text[i]==' ' || text[i]=='\t' || text[i]=='\n')text[i]=0;for (i=0;i<L;i++)if ((i==0 || text[i-1]==0) && text[i]!=0)N++;for (HashSize=N*2+10;!Prime(HashSize);HashSiz e++);Hash=new THashPoint* [HashSize];for (i=0;i<HashSize;i++)Hash[i]=NULL;MemoryID=0;Memory=new THashPoint[N+10];}int HashTable_function(char *s){int address=strlen(s)%HashSize;for (int i=0;s[i];i++)address=(address*137+s[i]+128)%HashSize; return address;}void HashTable_Insert(char *s){int address=HashTable_function(s);THashPoint *p;for (p=Hash[address];p!=NULL;p=p->next)if (strcmp(p->s,s)==0){p->c++;return;}p=&Memory[MemoryID++];p->s=s;p->c=1;p->next=Hash[address];Hash[address]=p;}bool Print(char *s){int address=HashTable_function(s);THashPoint *p;for (p=Hash[address];p!=NULL;p=p->next)if (strcmp(p->s,s)==0 && p->c==minC)return false;return true;}void Solve(){int i;for (i=0;i<L;i++)if ((i==0 || text[i-1]==0) && text[i]!=0) HashTable_Insert(text+i);minC=2000000000;for (i=0;i<MemoryID;i++)if (Memory[i].c<minC)minC=Memory[i].c;bool first=true;for (i=0;i<L;i++)if ((i==0 || text[i-1]==0) && text[i]!=0 && Print (text+i)){if (!first)printf(" ");first=false;printf("%s",text+i);}}int main(){freopen("corpus.txt","r",stdin);ReadFile();Prepare();Solve();return 0;}网上决赛#1#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>const int maxn2=100000+5;const int maxn=5000+5;const int max_outputL=10000000;const int oo=1000000000;//bufconst int bufsize=256*1024;int bufL,bufP;char buf[bufsize];char *bufp;//输入图int n2,indexID[maxn2],indexP[maxn2];int deg2[maxn2],*G2[maxn2],*W2[maxn2];//并查集int father[maxn2],sortlist[maxn2];//新建图int n,listM[maxn],G[maxn][maxn],tG[maxn][maxn]; //输出int outputL=0;char outputs[max_outputL];//最小树形图int prev[maxn],tmpG[maxn];bool saved[maxn],incycle[maxn];//深度优先搜索int DFS_count;bool DFS_vis[maxn];//输入数据函数char readchar()outputs[L]=0;if (L>=2)break;}}//输出数据函数void push_char(char c){outputs[outputL++]=c;}void write(int v){if (v>=10)write(v/10);push_char('0'+v%10);}//并查集函数int getfather(int v){return (father[v]==0)?v:(father[v]=getfather(f ather[v]));}void merge(int i,int j){i=getfather(i);j=getfather(j);if (i<j)father[j]=i;if (j<i)father[i]=j;}void ReadData(){int i,j,v,k;char s[100];ReadLine();bufp=outputs;ReadString(s);for (n2=0;ReadString(s);){sscanf(s,"%d",&v);indexID[++n2]=v;int maxd=0;for (i=1;i<=n2;i++){ReadLine();bufp=outputs;ReadString(s);sscanf(s,"%d",&v);for (k=1;indexID[k]!=v;k++); //calc deg[k]deg2[k]=0;for (;ReadString(s);){if (s[0]=='/')continue;sscanf(s,"%d",&v);if (v>0)deg2[k]++;}if (deg2[k]>maxd)maxd=deg2[k];G2[k]=new int[deg2[k]+5]; W2[k]=new int[deg2[k]+5]; //read againbufp=outputs;ReadString(s);deg2[k]=0;for (j=1;j<=n2;j++){ReadString(s);if (s[0]=='/')continue;sscanf(s,"%d",&v);if (v>0){G2[k][++deg2[k]]=j;W2[k][deg2[k]]=v;}}}}void DFS(int v){if (DFS_vis[v])return;DFS_vis[v]=true;DFS_count++;for (int i=1;i<=n;i++)if (G[v][i]<oo)DFS(i);}bool process(){if (n==1){write(listM[1]);push_char(' ');write(0);push_char('\n');return true;}int i,j,u,v;int answer=oo,total;for (int srcp=1;srcp<=n;srcp++) {for (u=1;u<=n;u++)for (v=1;v<=n;v++)G[u][v]=tG[u][v];DFS_count=0;for (i=1;i<=n;i++)DFS_vis[i]=false;DFS(srcp);if (DFS_count<n) continue;total=oo;for (i=1;i<=n;i++)if (G[i][srcp]<total)total=G[i][srcp];if (total==oo)continue;for (i=1;i<=n;i++){prev[i]=0;saved[i]=true;}while (1){int minCost=oo;for (i=1;i<=n;i++) if(i!=srcp && prev[i]==0 && saved[i])for (j=1;j<=n;j++) if (saved[j])if (G[j][i]<minCost){minCost=G[j][i];u=j;v=i;}if (minCost==oo)break;total+=minCost;//insert edge (u,v)prev[v]=u;for (i=u;prev[i]!=0 && i!=v;i=prev[i]);if (prev[i]==0)continue;//cyclefor (i=1;i<=n;i++)incycle[i]=false;incycle[v]=true;for (i=u;i!=v;i=prev[i])incycle[i]=true;for (i=1;i<=n;i++)tmpG[i]=oo;for (i=1;i<=n;i++) if (saved[i] && !incycle[i] )for (j=1;j<=n;j++) if (saved[j] && incycle[j]) {if (G[j][i]<G[v][i])G[v][i]=G[j][i];if (G[i][j]<oo){int t=G[i][j]-G[prev[j]][j];if (t<tmpG[i])tmpG[i]=t;}}for (i=1;i<=n;i++) if (saved[i] && !incycle[i] )if (prev[i]>0 && incycle[prev[i]])prev[i]=v;prev[v]=0;for (i=u;i!=v;i=prev[i]){printf("NONE\n");return;}for (v=i;v<j;v++){listM[v-i+1]=indexID[sortlist[v]];indexP[sortlist[v]]=v-i+1;}for (u=1;u<=n;u++)for (v=1;v<=n;v++)tG[u][v]=oo;for (u=i;u<j;u++)for (v=1;v<=deg2[sortlist[u]];v++)tG[indexP[sortlist[u]]][indexP[G2[sortlist[u]][v]]]=W2[s ortlist[u]][v];if (!process()){printf("NONE\n");return;}}outputs[outputL]=0;printf("%s",outputs);}int main(){freopen("sites.txt","r",stdin);bufP=bufL=0;ReadData();solve();return 0;}网上决赛#2#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>const char *rules_filename="rules.txt";const char *facts_filename="facts.txt";const int hashsize=1000007;const int maxm=100000+5;const int maxn=1000000+5;const int bufsize=256*1024;//读入int bufL,bufP;char buf[bufsize];char str[1000000];//读入函数char readchar(){if (bufL==bufP){bufL=read(0,buf,bufsize);bufP=0;if (bufL==0)return 0;}return buf[bufP++];}bool valid(char c){return (c!=0 && c!='\t' && c!='\n' && c!=' ' && c!='&' && c!='-' && c!='>');}bool readstring(char *s){int L=0;char c;do{c=readchar();if (c==0)return false;if (L==0 && c=='>')s[L++]=c;}while (!valid©);for (;valid©;c=readchar())s[L++]=c;s[L]=0;return true;}//目标变量int goal;//规则集合struct TRule{char *rule_name;int n,*C,A;};int m;TRule Rules[maxm];int _n,_C[1000000];int left[maxm],nlist,list[maxm];//命题集合struct Tpoint{int v;Tpoint *next;};int n;bool fact[maxn],need_prove[maxn],org_fact[maxn]; Tpoint *Appear[maxn];//HashTable,用于保存(命题名)->(int)的映射struct THashTable{char *var;int id;THashTable *next;};THashTable *Hash[hashsize];int find(char *s){int L=strlen(s);int address=L;for (int i=0;s[i];i++)address=(address*101+s[i])%hashsize; THashTable *p;for (p=Hash[address];p!=NULL;p=p->next)if (strcmp(p->var,s)==0)return p->id;p=new THashTable;p->next=Hash[address];Hash[address]=p;p->var=new char[L+2];strcpy(p->var,s);p->id=(++n);memset(fact,false,sizeof(fact));FILE *f=fopen(facts_filename,"r"); while (fscanf(f,"%s",&str)!=-1)fact[find(str)]=true;fclose(f);}void TPsort(){int i,j,k;Tpoint *p;nlist=0;for (i=1;i<=m;i++){left[i]=0;for (j=1;j<=Rules[i].n;j++)if (!fact[Rules[i].C[j]])left[i]++;if (left[i]==0)list[++nlist]=i;}for (i=1;i<=nlist;i++){k=Rules[list[i]].A;if (fact[k])continue;fact[k]=true;for (p=Appear[k];p!=NULL;p=p->next) {left[p->v]--;if (left[p->v]==0)list[++nlist]=p->v;}}}void solve_data(){for (int i=1;i<=nlist;i++){printf(" %s",Rules[list[i]].rule_name); if (Rules[list[i]].A==goal)break;}printf("\n");}void solve_goal(){int i,k;memset(need_prove,false,sizeof(need_prove));need_prove[goal]=true;for (i=1;i<=nlist;i++)if (Rules[list[i]].A==goal)break;for (;i>0;i--)if (need_prove[Rules[list[i]].A] && !org_fact[Rules[list[i]].A]) {printf(" %s",Rules[list[i]].rule_name);for (k=1;k<=Rules[list[i]].n;k++)need_prove[Rules[list[i]].C[k]]=true;}printf("\n");}int main(int argc,char *arg[]){if (argc!=3){printf("Argument Error!\n");return 0;}freopen(rules_filename,"r",stdin);bufP=bufL=n=0;memset(Hash,0,sizeof(Hash));memset(Appear,0,sizeof(Appear));goal=find(arg[2]);read_rules();read_facts();memcpy(org_fact,fact,sizeof(fact));if (fact[goal]){printf("TRUE %s\n",arg[1]);return 0;}TPsort();if (!fact[goal])printf("UNCERTAIN\n");else{printf("TRUE %s",arg[1]);if (strcmp(arg[1],"data")==0)solve_data();elsesolve_goal();}return 0;}总决赛#include <stdio.h>#include <stdlib.h>#include <string.h>const int hashsize=70001;const int maxnode=50000;const int maxp=40;const int ten[]={1,10,100,1000,10000,100000,1000000,10000000,100000000};const int C[]={2,3,2,3,4,3,2,3,2};const int EP[][4]={{1,3,0,0},{0,2,4,0},{1,5,0,0},{0,4,6,0},{1,3,5,7},{2,4,8,0},{3,7,0,0},{4,6,8,0} ,{5,7,0,0}};struct Tlist{int data,d;Tlist *next;};struct Thashpoint{int data;Thashpoint *next;};//Memoryint ID;Tlist listM[maxnode],*q;Thashpoint hashM[maxnode],*p;//dataint src,dest;//heapTlist *head[maxp],*expand[maxp],*lp1,*lp2;//HashThashpoint *hash[hashsize];//expandfor (int k=0;k<9;k++)arcT[dest/ten[k]%10]=k;for (int u=0;u<9;u++)for (int v=0;v<9;v++){dist[u][v]=abs(u/3-v/3)+abs(u%3-v%3); swap[u][v]=ten[u]-ten[v];}}void addnode(){if (newdata==dest){printf("%d\n",depth);find_answer=true;return;}int address=newdata%hashsize;for (p=hash[address];p!=NULL;p=p->n ext)if (p->data==newdata)return;if (ID==maxnode)return;p=&hashM[ID];p->data=newdata;p->next=hash[address];hash[address]=p;q=&listM[ID];ID++;q->data=newdata;q->d=depth;if (newG>=maxp)return;if (newG==nowp){q->next=expand[depth];expand[depth]=q;}else{q->next=head[newG];head[newG]=q;}void solve(){nowp=-1;newdata=src;newG=0;for (int k=0;k<9;k++)if (src/ten[k]%10!=0)newG+=dist[arcT[src/ten[k]%10]][k]; depth=0;addnode();if (find_answer)return;for (int p=0;p<maxp;p++) if (head[p]!= NULL){nowp=p;for (lp1=head[p];lp1!=NULL;lp1=lp2) {lp2=lp1->next;lp1->next=expand[lp1->d];expand[lp1->d]=lp1;}for (int d=0;d<=p;d++)for (;expand[d]!=NULL;){data=expand[d]->data;G=p-expand[d]->d;depth=expand[d]->d+1;expand[d]->d=-2;expand[d]=expand[d]->next;for (b=0;data/ten[b]%10!=0;b++);for (int v=0;v<C[b];v++){int u=EP[b][v];int c=data/ten[u]%10;newdata=data+swap[b][u]*c;c=arcT[c];newG=depth+G-dist[c][u]+dist[c][b]; addnode();if (find_answer)return;}}。