NOIP2011提高组初赛试题-C++含答案

合集下载

NOIP 2011 提高组day1 题解 美少女战士原创

NOIP 2011 提高组day1 题解 美少女战士原创

NOIP 2011 提高组day1 题解美少女战士原创1.铺地毯(carpet.cpp/c/pas)【问题描述】为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。

一共有n 张地毯,编号从1 到n。

现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。

地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。

注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。

【输入】输入文件名为 carpet.in。

输入共 n+2 行。

第一行,一个整数 n,表示总共有n 张地毯。

接下来的 n 行中,第i+1 行表示编号i 的地毯的信息,包含四个正整数a,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标(a,b)以及地毯在x轴和y 轴方向的长度。

第 n+2 行包含两个正整数x 和y,表示所求的地面的点的坐标(x,y)。

【输出】输出文件名为 carpet.out。

输出共 1 行,一个整数,表示所求的地毯的编号;若此处没有被地毯覆盖则输出-1。

【输入输出样例 1】carpet.in carpet.out3 31 02 30 2 3 32 13 32 2【输入输出样例说明】如下图,1 号地毯用实线表示,2 号地毯用虚线表示,3 号用双实线表示,覆盖点(2,2)的最上面一张地毯是3 号地毯。

【输入输出样例 2】carpet.in carpet.out3 -11 02 30 2 3 32 13 34 5【输入输出样例说明】如上图,1 号地毯用实线表示,2 号地毯用虚线表示,3 号用双实线表示,点(4,5)没有被地毯覆盖,所以输出-1。

(不好意思,因为是从PDF中复制过来的,所以没有图,不过挺简单的,大家可以自己做一下)(嘿嘿,还是我的朋友智慧,我怎么就没想到用QQ截图)【数据范围】对于 30%的数据,有n≤2;对于 50%的数据,0≤a, b, g, k≤100;对于 100%的数据,有0≤n≤10,000,0≤a, b, g, k≤100,000。

NOIP提高组初赛历年试题及答案求解题篇(完整资料).doc

NOIP提高组初赛历年试题及答案求解题篇(完整资料).doc

【最新整理,下载后即可编辑】NOIP提高组初赛历年试题及答案求解题篇问题求解题(每次2题,每题5分,共计10分。

每题全部答对得5分,没有部分分)注:答案在文末提高组的问题求解题的知识点大多涉及计数问题、鸽巢原理、容斥问题、逻辑推理、递推问题、排列组合问题等。

NOIP2011-1.平面图可以画在平面上,且它的边仅在顶点上才能相交的简单无向图。

4个顶点的平面图至少有6条边,如图所示。

那么,5个顶点的平面图至多有_________条边。

NOIP2011-2.定义一种字符串操作,一次可以将其中一个元素移到任意位置。

举例说明,对于字符串“BCA”可以将A移到B 之前,变字符串“ABC”。

如果要将字符串“DACHEBGIF”变成“ABCDEFGHI”最少需要_________次操作。

NOIP2012-1. 本题中,我们约定布尔表达式只能包含p,q, r三个布尔变量,以及“与”(∧)、“或”(∨)、“非”(¬)三种布尔运算。

如果无论p, q,r如何取值,两个布尔表达式的值总是相同,则称它们等价。

例如,(p∨q)∨r和p∨(q∨r)等价,p∨¬p 和q∨¬q 也等价;而p∨q 和p∧q不等价。

那么,两两不等价的布尔表达式最多有_________个。

NOIP2012-2. 对于一棵二叉树,独立集是指两两互不相邻的节点构成的集合。

例如,图1有5个不同的独立集(1个双点集合、3个单点集合、1个空集),图2有14个不同的独立集。

那么,图3有_________个不同的独立集。

NOIP2013-1. 某系统自称使用了一种防窃听的方式验证用户密码。

密码是n个数s1,s2,…,sn,均为0或1。

该系统每次随机生成n个数a1,a2,…,an,均为0或1,请用户回答(s1a1+s2a2+…+snan)除以2的余数。

如果多次的回答总是正确,即认为掌握密码。

该系统认为,即使问答的过程被泄露,也无助于破解密码——因为用户并没有直接发送密码。

2011十七届noip提高组题目及答案

2011十七届noip提高组题目及答案

第十七届全国青少年信息学奥林匹克联赛初赛试题(提高组 Pascal语言两小时完成)一、单项选择题(共20题,每题1.5分。

共计30分。

每题有且仅有一个正确选项。

)1.在二进制下, +()= 。

A.1011 B.1101 C.1010 D.11112.字符“A”的ASCII码为十六进制41,则字符“Z”的ASCII码为十六进制的()。

A.66 B.5A C.50 D.视具体的计算机而定3.右图是一棵二叉树,它的先序遍历是()。

A.ABDEFC B.DBEFAC C.DFEBCA D.ABCDEF4.寄存器是()的重要组成部分。

A.硬盘B.高速缓存C.内存D.中央处理器(CPU)5.广度优先搜索时,需要用到的数据结构是()。

A.链表B.队列C.栈D.散列表6.在使用高级语言编写程序时,一般提到的“空间复杂度”中的“空间”是指()。

A.程序运行时理论上所占的内存空间B.程序运行时理论上所占的数组空间C.程序运行时理论上所占的硬盘空间D.程序源文件理论上所占的硬盘空间7.应用快速排序的分治思想,可以实现一个求第K大数的程序。

假定不考虑极端的最坏情况,理论上可以实现的最低的算法时间复杂度为()。

A.O(n2)B.O(n log n)C.O(n) D.O(1)8.为解决Web应用中的不兼容问题,保障信息的顺利流通,()制定了一系列标准,涉及HTML、XML、CSS等,并建议开发者遵循。

A.微软 B.美国计算机协会(ACM) C.联台国教科文组织D.万维网联盟(W3C)9.体育课的铃声响了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。

每个同学按顺序来到操场时,都从排尾走向排头,找到第一个比自己高的同学,并站在他的后面。

这种站队的方法类似于()算法。

A.快速排序B.插入排序C.冒泡排序D.归并排序10.1956年()授予肖克利(William Shockley)、巴丁(John Bardeen)和布拉顿(Walter Brattain),以表彰他们对半导体的研究和晶体管效应的发现。

noip提高组c初赛试题与答案

noip提高组c初赛试题与答案

2009 第十五届全国青少年信息学奥林匹克联赛初赛试题提高组 C++ 语言 二小时完成 )全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效. 单项选择题 (共 10 题,每题分,共计 15 分。

每题有且仅有一个正确答 案。

)1、关于图灵机下面的说法哪个是正确的:图灵机是英国人图灵发明的,在二战中为破译德军的密码发挥了重要作 用。

2、关于BIOS 下面的说法哪个是正确的:BIOS 里包含了键盘、鼠标、声卡、图形界面显器等常用输入输出设备的 驱动程序。

BIOS 能提供各种文件拷贝、复制、删除以及目录维护等文件管理功能。

3、已知大写字母A 的ASCII 编码为65(十进制),则大写字母J 的 十六进制ASCII 编码为:4、在字长为 16位的系统环境下,一个 16位带符号整数的二进制补码为 101。

其对应的十进制整数应该是:n 个分支结点(非叶结点)的非空满 k 叉树,k>=1,它的叶结点数 B) nk-1 C) (k+1)n-1 D. (k-1)n+16. 表达式 a*(b+c )-d 的后缀表达式是:A) abcd*+- B) abc+*d- C) abc*+d- D) -+*abcd7、最优前缀编码,也称 Huffman 编码。

这种编码组合的特点是对于较频繁使用 的元素给与较短的唯一编码,以提高通讯的效率。

下面编码组合哪一组不是 合法的前缀编码。

A )(00, 01, 10, 11)A) 图灵机是世界上最早的电子计算机。

B) 由于大量使用磁带操作,图灵机运行速度很慢。

C) 图灵机只是一个理论上的计算模型。

D) A) BIOS 是计算机基本输入输出系统软件的简称。

B) C) BIOS 一般由操作系统厂商来开发完成。

D) A) 48 B) 49 C) 50 D)以上都不是 A) 19 B) -19 C) 18 D) -185、一个包含目为:A) nk + 1B ) (0,1,00,11)C )(0,10,110,111)D )(1,01,000,001)8、快速排序平均情况和最坏情况下的算法时间复杂度分别为:9、右图给出了一个加权无向图, 从顶点 V 0 开始用 prim 算法求最 小生成树。

noip-初赛模拟试题1(c语言含答案)演示教学

noip-初赛模拟试题1(c语言含答案)演示教学

NOIP 初赛模拟试题(2小时C语言普及组)姓名成绩一、选择题(共20题,每题1.5分,共计30分。

)1.微型计算机的性能主要取决于()。

A)内存B)主板C)中央处理器D)硬盘E)显示器2.设T是一棵有n个顶点的树,以下说法不正确的是()。

A.T是联通的,无环的。

B.T是联通的,有n-1条边。

C.T是无环的,有n-1条边。

D.以上都不对。

3.能将高级语言程序转换为目标程序的是( ).A)调试程序B) 连接程序C)编辑程序D)编译程序4.若A=45,B=38,C=78则A^ B & C=( )A)38 B)18 C)11 D)455.计算机病毒传染的必要条件之一是( ) 。

A)在内存中运行病毒程序B)对磁盘进行读写操作C)在内存中运行含有病毒的可执行程序D)复制文件E)删除文件6. TCP/IP协议共有( )层协议A)3 B)4 C)5 D)6 E)77.192.168.0.1是属于( ).A)A类地址B)B类地址C)C类地址D)D类地址E)E类地址8.对给定的整数序列(54,73,21,35,67,78,63,24,89)进行从小到大的排序时,采用快速排序的第一趟扫描的结果是( ).A)(24,21,35,54,67, 78,63,73,89)B)(24,35,21,54,67, 78,63,73,89)C)(24,21,35,54,67, 63,73,78,89)D)(21,24,35,54,63, 67,73,78,89)9.一棵n个结点的完全二叉树,则二叉树的高度h为( ).A)n/2 B)log2n C)(log2n)/2 D) [log2n]+1 E)2n-110.下图对该图进行广度优先拓朴排序得到的顶点序列正确的是( ).A)1,2,3,4,5,6B)1,3,2,4,5,6C)1,3,2,4,6,5D)1,2,3,4,6,5,E)1,3,2,4,5,6A)采用二进制表示数据和指令;B)采用”存储程序”工作方式C)计算机硬件有五大部件(运算器、控制器、存储器、输入和输出设备)D)结构化程序设计方法12.下列不属于输入设备的是( ).A)打印机B)扫描仪C)光笔D)鼠标13.算式(1000)10-(101)16 - (11)8的结果是( ).A)(891)10 B)(886)8C)(10111000011)2D)(2DE)1614.下面关于算法的不正确的说法是( )A)算法必须有输出B)算法必须在计算机上用某种语言实现C)算法不一定有输入D)算法必须在有限步执行后能结束E)算法的每一步骤必须有确切的定义15.下列关于十进制数100的正确说法是( ).A)原码为01101100BB)反码为64H C)反码为9BH D)补码为65H16.关于windows系统中的窗口和对话框的说法正确的是( ).A)对话框能移动和改变大小B)窗口不能移动,能改变大小C)对话框只能移动,不能改变大小D)对话框不能移动但能改变大小E)窗口能移动和但不能改变大小17.若A=true,B=false,C=true,D=false,以下逻辑运算表达式真的有()A.(A∧B)∨(C∧D∨¬A)B.((¬A∧B)∨C)∧¬BC.(B∨C∨D)∧D∧¬AD. ¬A∧(D∨¬ C) ∧B18.下列关于排序说法不正确的是( ).A)插入排序、冒泡排序是稳定的B)选择排序的时间复杂性为O(n2)C)选择排序、希尔排序、快速排序、堆排序是不稳定的D)希尔排序、快速排序、堆排序的时间复杂性为O(nlog2n)E)占用内存空间大的是归并排序。

noip初赛试题及答案

noip初赛试题及答案

noip初赛试题及答案**NOIP初赛试题及答案**一、选择题(每题2分,共40分)1. 计算机中存储数据的最小单位是()。

A. 字节B. 位C. 字D. 双字答案:B2. 在计算机中,1KB等于()。

A. 1024字节B. 512字节C. 256字节D. 1000字节答案:A3. 下列哪种设备不是计算机的输入设备()。

A. 键盘B. 鼠标C. 显示器D. 扫描仪答案:C4. 在计算机中,二进制数1011转换为十进制数是()。

A. 11B. 12C. 13D. 14答案:A5. 计算机病毒是一种()。

A. 计算机硬件B. 计算机软件C. 生物病毒D. 计算机程序答案:D6. 下列哪种文件格式不是图片格式()。

A. JPGB. BMPC. MP3D. PNG答案:C7. 计算机操作系统的主要功能是()。

A. 管理计算机硬件B. 管理计算机软件C. 管理计算机资源D. 所有选项都是答案:D8. 以下哪个选项不是计算机网络的组成部分()。

A. 网络协议B. 网络硬件C. 网络软件D. 网络用户答案:D9. 在计算机编程中,以下哪个关键字用于定义一个类()。

A. classB. functionC. structD. interface答案:A10. 在计算机编程中,以下哪个关键字用于定义一个方法()。

A. classB. functionC. methodD. procedure答案:C二、填空题(每题2分,共20分)1. 在计算机中,一个字节由____位组成。

答案:82. 计算机的CPU是计算机的____。

答案:中央处理器3. 计算机的RAM是____存储器。

答案:随机访问4. 在计算机编程中,____是一种用于存储数据的数据结构。

答案:数组5. 在计算机编程中,____是一种用于存储键值对的数据结构。

答案:哈希表6. 计算机的USB接口是一种____接口。

答案:通用串行总线7. 在计算机编程中,____是一种用于控制程序流程的语句。

2010-2013选择题解析

2010-2013选择题解析

2010-2013选择题及2013、2010解析第十九届2013全国青少年信息学奥林匹克联赛初赛提高组参考答案.CCF NOIP2011提高组(C语言)参考答案与评分标准一、单项选择题(共10题,每题1.5分,共计15分)1 2 3 4 5 6 7 8 9 10B B A D B ACD B A二、不定项选择题(共10题,每题1.5分,共计15分,多选或少选均不得分)1 2 3 4 5 6 7 8 9 10 CD ABCD AB BC BC ABD CD A BCD ABC 2012noip 选择题答案2013选择题解析1、C语言的数据类型是:C语言中数据类型(整形,浮点型,字符型,无值型)整型数说明加上不同的修饰符, 整型数有以下几种类型; signed short int 有符号短整型数说明。

简写为short或int, 字长为2字节共16位二进制数,数的范围是-32768~32767。

signed long int 有符号长整型数说明。

简写为long, 字长为4字节共32位二进制数,数的范围是-2147483648~2147483647。

unsigned short int 无符号短整型数说明。

简写为unsigned int, 字长为2字节共16位二进制数, 数的范围是0~65535。

unsigned long int 无符号长整型数说明。

简写为unsigned long, 字长为4字节共32位二进制数, 数的范围是0~4294967295。

浮点型(float) 一、浮点数说明C中有以下两种类型的浮点数:float 单浮点数。

字长为4 个字节共32 位二进制数,数的范围是3.4x10-38E~3.4x10+38E。

double 双浮点数。

字长为 8个字节共 64 位二进制数,数的范围是 1.7x10-308E~1.7x10+308E。

说明: 浮点数均为有符号浮点数, 没有无符号浮点数。

2、数的进制转换:10进制转为其它进制用倒除法。

1999年至2011年历年信息学奥赛提高组初赛答案

1999年至2011年历年信息学奥赛提高组初赛答案

第十七届(2011年)信息学奥赛提高组初赛试题答案一、单项选择题(共10题,每题1.5分,共计15分)1 2 3 4 5 6 7 8 9 10B B A D B ACD B A二、不定项选择题(共10题,每题1.5分,共计15分,多选或少选均不得分)1 2 3 4 5 6 7 8 9 10CD ABCD AB BC BC ABD CD A BCD ABC 三、问题求解(共2题,每题5分,共计10分)1.92.4四、阅读程序写结果(共4题,每题8分,共计32分)1.32.1 2 5 13 343.1504.57344五、完善程序(第1题,每空2分,第2题,每空3分,共计28分)(说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查)1.①ans.num[i + j - 1]②ans.num[i] := ans.num[i] mod 10;③ans.num[i] + a.num[i] + b.num[i];④ans.num[i] mod 2 (或ans.num[i] and 1)⑤inc(ans.len) (或ans.len := ans.len + 1)⑥ a.len < b.len⑦ord('0')(或48)⑧times(middle, middle), target2.①inc(num) (或num := num + 1)②j := i③solve(left, j - 1, deep + 1)④solve(j + 1, right, deep + 1)第十六届(2010年)信息学奥赛初赛试题答案一、单项选择题(共10题,每题1.5分,共计15分)1 2 3 4 5 6 7 8 9 10C A AD B D C B C B二、不定项选择题(共10题,每题1.5分,共计15分,多选或少选均不得分)1 2 3 4 5 6 7 8 9 10ACD AD ABD AC B B D D BCD ABC三、问题求解(共3题,每题5分,共计15分)1.yyxy xx yyxy xyx xx xyx 2.12 3.18四、阅读程序写结果(共4题,每题7分,共计28分)1.16 2.1 2 3 5 6 7 9 10 14 3.4 4.1 6 9 54 8 3 2 7五、完善程序(第1空2分,其余10空,每空2.5分,共计27分)(说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查)1.① num <= 2(或num < 3 或num = 2)② go(LEFT_TO_RIGHT)③ pos[i] = LEFT(或LEFT = pos[i])④ time[i] + go(RIGHT_TO_LEFT)(或go(RIGHT_TO_LEFT) + time[i])⑤ pos[i] := LEFT本小题中,LEFT可用true代替,LEFT_TO_RIGHT可用true代替,RIGHT_TO_LEFT可用false 代替。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

NOIP2011第十七届全国青少年信息学奥林匹克联赛初赛试题(提高组C++语言两小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共10题,每题1.5分,共计15分。

每题有且仅有一个正确选项。

)1.在二进制下,1011001 + ()= 1100110。

A.1011 B .1101 C.1010 D.11112.字符“A”的ASCII码为十六进制41,则字符“Z”的ASCII码为十六进制的()。

A.66 B.5A C.50 D.视具体的计算机而定3.右图是一棵二叉树,它的先序遍历是()。

A.ABDEFC B.DBEFAC C.DFEBCA D.ABCDEF4.寄存器是()的重要组成部分。

A.硬盘B.高速缓存C.内存D.中央处理器(CPU)5.广度优先搜索时,需要用到的数据结构是()。

A.链表B.队列C.栈D.散列表6.在使用高级语言编写程序时,一般提到的“空间复杂度”中的空间是指()。

A.程序运行时理论上所占的内存空间B.程序运行时理论上所占的数组空间C.程序运行时理论上所占的硬盘空间D.程序源文件理论上所占的硬盘空间7.应用快速排序的分治思想,可以实现一个求第K大数的程序。

假定不考虑极端的最坏情况,理论上可以实现的最低的算法时间复杂度为()。

A.O (n2) B.O (n log n ) C.O (n) D.O (1)8.为解决web应用中的不兼容问题,保障信息的顺利流通,()制定了一系列标准,涉及HTML、XML、CSS等,并建议开发者遵循。

A.微软B.美国计算机协会(ACM)C.联合国教科文组织D.万维网联盟(W3C)9.体育课的铃声响了,同学们都陆续的奔向操场,按老师的要求从高到低站成一排。

每个同学按顺序来到操场时,都从排尾走到排头,找到第一个比自己高的同学,并站在他的后面。

这种站队的方法类似于()算法。

A.快速排序B.插入排序C.冒泡排序D.归并排序10.1956年()授予肖克利(William Shockley)、巴丁(John Bardeen)和布拉顿(Walter Brattain)A.诺贝尔物理学奖B.约翰·冯·诺依曼奖C.图灵奖D.高德纳奖(Donald E. Knuth Prize)二、不定项选择题(共10题,每题1.5分,共计15分。

每题正确答案的个数不少于1。

多选或少选均不得分)。

1.如果根结点的深度记为1,则一棵恰有2011个叶子结点的二叉树的深度可能是()。

A.10 B.11 C.12 D.20112.在布尔逻辑中,逻辑“或”的性质有()。

A.交换律:PVQ = QVPB.结合律:PV(QVR)=(PVQ)VRC.幂等律:PVP = PD.有界律:PV1 = 1(1表示逻辑真)3.一个正整数在十六进制下有100位,则它在二进制下可能有()位。

A.399 B.400 C.401 D.4044.汇编语言()。

A.是一种与具体硬件无关的程序设计语言B.在编写复杂程序时,相对于高级语言而言代码量大,且不易调试C.可以直接访问寄存器、内存单元、I/O端口D.随着高级语言的诞生,如今已被完全淘汰,不再使用5.现有一段文言文,要通过二进制哈夫曼编码进行压缩。

简单起见,假设这段文言文只由4个汉字“之”、“乎”、“者”、“也”组成,它们出现的次数分别为700、600、300、400。

那么,“也”字的编码长度可能是()。

A.1 B.2 C.3 D.46.生物特征识别,是利用人体本身的生物特征进行身份认证的一种技术。

目前,指纹识别、虹膜识别、人脸识别等技术已广泛应用于政府、银行、安全防卫等领域。

以下属于生物特征识别技术及其应用的是()。

A.指静脉验证B.步态验证C.ATM机密码验证D.声音验证7.对于序列“7、5、1、9、3、6、8、4”,在不改变顺序的情况下,去掉()会使逆序对的个数减少3。

A.7 B.5 C.3 D.68.计算机中的数值信息分为整数和实数(浮点数)。

实数之所以能够表示很大或者很小的数,是由于使用了()。

A.阶码B.补码C.反码D.较长的尾数9.对右图使用Dijkstra算法计算S点到其余各点的最短路径长度时,到B点的距离d[B]初始时赋为8,在算法的执行过程中还会出现的值有()。

A.3 B.7 C.6 D.510.为计算机网络中进行数据交换而建立的规则、标准或约定的集合称为网络协议。

下列英文缩写中,()是网络协议A.HTTP B.TCP/IP C.FTP D.WWW三.问题求解(共2题,每空5分,共计10分)1.平面图可以在画在平面上,且它的边仅在顶点上才能相交的简单无向图。

4个顶点的平面图至少有6条边,如右图所示。

那么,5个顶点的平面图至少有条边。

2.定义一种字符串操作,一次可以将其中一个元素移到任意位置。

举例说明,对于字符串“BCA”可以将A移到B之前,变字符串“ABC”。

如果要将字符串“DACHEBGIF”变成“ABCDEFGHI”最少需要________次操作。

四.阅读程序写结果(共4题,每题8分,共计32分)1.#include<iostream>#include<cstring>using namespace std;const int SIZE = 100;。

int main(){int n,i,sum,x,a[SIZE];cin>>n;memset(a,0,sizeof(a));for(i=1;i<=n;i++){cin>>x;a[x]++;}i=0;sum=0;while(sum<(n/2+1)){i++;sum+=a[i];}cout<<i<<endl;return 0;}。

输入:114 5 6 6 4 3 3 2 3 2 1输出:2.#include<iostream>using namespace std;int n;void f2(int x,int y);void f1(int x,int y){if(x<n)f2(y,x+y);}void f2(int x,int y){cout<<x<<' ';。

f1(y,x+y);}int main(){cin>>n;f1(0,1);return 0;return 0;}输入:30输出:_______________3.#include<iostream>using namespace std;const int V=100;int n,m,ans,e[V][V];。

bool visited[V];void dfs(int x,int len){int i;visited[x]= true;if(len>ans)ans=len;for(i=1;i<=n;i++)if( (!visited[i]) && (e[x][i]!=-1) )dfs(i,len+e[x][i]);visited[x]=false;}int main(){int i,j,a,b,c;cin>>n>>m;for(i=1;i<=n;i++)for(j=1;j<=m;j++)e[i][j]=-1;for(i=1;i<=m;i++)。

{cin>>a>>b>>c;e[a][b]=c;e[b][a]=c;}for(i=1;i<=n;i++)visited[i]=false;ans=0;for(i=1;i<=n;i++)dfs(i,0);cout<<ans<<endl;return 0;}输入:4 61 2 102 3 203 4 304 1 401 3 50。

2 4 60输出:______________4.#include<iostream>#include<cstring>#include<string>using namespace std;const int SIZE=10000;const int LENGTH=10;int n,m,a[SIZE][LENGTH];int h(int u,int v){int ans,i;ans=0;for(i=1;i<=n;i++)if( a[u][i]!=a[v][i])ans++;return ans;}int main(){int sum,i,j;cin>>n;memset(a,0,sizeof(a));m=1;while(1){i=1;while( (i<=n) && (a[m][i]==1) )i++;if(i>n)break;m++;a[m][i]=1;for(j=i+1;j<=n;j++)a[m][j]=a[m-1][j];}sum=0;for(i=1;i<=m;i++)for(j=1;j<=m;j++)sum+=h(i,j);cout<<sum<<endl;return 0;}输入:7输出:_________五.完善程序(第1题,每空2分,第2题,每空3分,共28分)1.(大整数开方)输入一个正整数n(1≤n≤10100),试用二分法计算它的平方根的整数部分。

#include<iostream>#include<string>using namespace std;const int SIZE=200;struct hugeint{int len,num[SIZE];};//其中len表示大整数的位数;num[1]表示个位,num[2]表示十位,以此类推hugeint times(hugeint a,hugeint b)// 计算大整数a和b的乘积{int i,j;hugeint ans;memset(ans.num,0,sizeof(ans.num));for(i=1;i<=a.len;i++)for(j=1;j<=b.len;j++)①+=a.num[i]*b.num[j];for(i=1;i<=a.len+b.len;i++){ans.num[i+1]+=ans.num[i]/10;②;}if(ans.num[a.len+b.len]>0)ans.len=a.len+b.len;elseans.len=a.len+b.len-1;return ans;}hugeint add(hugeint a,hugeint b)//计算大整数a和b 的和{int i;hugeint ans;memset(ans.num,0,sizeof(ans.num));if(a.len>b.len)ans.len=a.len;elseans.len=b.len;for(i=1;i<=ans.len;i++){ans.num[i]+= ③;ans.num[i+1]+= ans.num[i]/10;ans.num[i]%=10;}if(ans.num[ans.len+1]>0)ans.len++;return ans;}hugeint average(hugeint a,hugeint b)//计算大整数a和b的平均数的整数部分{int i;hugeint ans;ans=add(a,b);for(i=ans.len;i>=2;i--){ans.num[i-1]+=( ④)*10;ans.num[i]/=2;}ans.num[1]/=2;if(ans.num[ans.len]==0)ans.len--;return ans;}hugeint plustwo(hugeint a)// 计算大整数a加2之后的结果{int i;hugeint ans;ans=a;ans.num[1]+=2;i=1;while( (i<=ans.len)&&(ans.num[i]>=10) ){ ans.num[i+1]+=ans.num[i]/10;ans.num[i]%=10;i++;}if(ans.num[ans.len+1]>0)⑤;return ans;}bool over(hugeint a,hugeint b)// 若大整数a>b则返回true,否则返回false {int i;if( ⑥)return false;if( a.len>b.len )return true;for(i=a.len;i>=1;i--){if(a.num[i]<b.num[i])return false;if(a.num[i]>b.num[i])return true;}return false;}int main(){string s;int i;hugeint target,left,middle,right;cin>>s;memset(target.num,0,sizeof(target.num));target.len=s.length();for(i=1;i<=target.len;i++)target.num[i]=s[target.len-i]- ⑦;memset(left.num,0,sizeof(left.num));left.len=1;left.num[1]=1;right=target;do{middle=average(left,right);if(over( ⑧))right=middle;elseleft=middle;}while(!over(plustwo(left),right) );for(i=left.len;i>=1;i--)cout<<left.num[i];return 0;}2.(笛卡尔树)对于一个给定的两两不等的正整数序列,笛卡尔树是这样的一棵二叉树:首先,它是一个最小堆,即除了根结点,每个节点的权值都大雨父节点的权值;其次,它的中序遍历恰好就是给定的序列。

相关文档
最新文档