NOIP2017提高组初赛试题及答案

合集下载

NOIP提高组初赛历年试题及标准答案阅读题篇

NOIP提高组初赛历年试题及标准答案阅读题篇

NOIP提高组初赛历年试题及答案阅读题篇————————————————————————————————作者:————————————————————————————————日期:NOIP提高组初赛历年试题及答案阅读题篇阅读程序写结果(共4 题,每题8 分,共计32 分)阅读程序的最好方法并非是依次从头到尾。

程序不像迷语,我们无法从末尾几页找到答案,也不像一本引人入胜的书籍,只需直接翻到褶皱最多的那几页,我们就能找到最精彩的片断。

因此我们在阅读程序时,最好逐一考察研究每一段代码,搞清楚每一段代码的来龙去脉,理解每一段代码在程序中所起的作用,进而形成一个虚拟的程序结构,并以此为基础来进行阅读。

1、分层读:高层入手,逐层深入,正确理解程序。

2、写注解:固化、总结、提炼已有的理解成果。

3、先模拟:根据代码顺序跟踪变量,模拟运算。

4、找规律:先模拟几次循环后,找出背后的规律。

5、看功能:从代码结构和运算结果判断程序功能。

6、猜算法:有时不知道算法,通过结构和函数猜一猜。

7、换方法:了解程序本质后,换一个熟悉的方法试试。

对大多数人来说,写程序是令人开心的一件事情,读别人的程序却很痛苦,很恐惧,宁愿自己重写一遍。

其实读到好的程序,就像读一篇美文,令人心旷神怡,豁然开朗,因为这背后是一个人的思维,甚至整个人生。

阅读别人的程序不仅可以巩固自己的知识,启发自己的思维,提升自己的修养,让你收获满满,其实,这也是在学习、在竞赛、在工作中的最重要、最常用的基本功。

如果说写程序是把自己的思维转化为代码,读程序就是把代码转化为你理解的别人的思维。

当你阅读程序时有强烈的代入感,像演员一样,真正进入到编剧的精神世界,面部表情也随之日渐丰富起来。

祝贺你!你通关了!总之,看得多,码得多,拼得多,你就考得多……NOIP2011-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;}输入:4 5 6 6 4 3 3 2 3 2 1一步步模拟,注意输出的是sum超出循环条件时的i值(中位数),而不是sum,也不是a[x]输出:3NOIP2011-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;}输入:30此为简单的递归题,依次输出f2(x,y)中的x值,注意边界条件时f1(x,y)的x>=30咦!这不是隔一个输出一个的Fibonacci吗?输出:1 2 5 13 34NOIP2011-3.#include <iostream>using namespace std;const int V=100;int n,m,ans,e[V][V];bool visited[V];void dfs(int x,intlen){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 502 4 60一看就知这是深搜算法(DFS),输入是个四个顶点的无向图(邻接矩阵如下):如len>ans,则ans=len,可以说明这是个在图中用DFS找最长的路径的程序。

CCFNOIP2017年度初赛普及其组C语言学习知识试题及其标准参考答案

CCFNOIP2017年度初赛普及其组C语言学习知识试题及其标准参考答案

第二十三届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2017年10月14日14:30~16:30选手注意:●试题纸共有7 页,答题纸共有2 页,满分100 分。

请在答题纸上作答,写在试题纸上的一律无效。

●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共20 题,每题 1.5 分,共计30 分;每题有且仅有一个正确选项)1. 在8 位二进制补码中,10101011 表示的数是十进制下的()。

A. 43B. -85C. -43D. -842. 计算机存储数据的基本单位是()。

A. bitB. ByteC. GBD. KB3.下列协议中与电子邮件无关的是()。

A. POP3B. SMTPC. WTOD. IMAP4. 分辨率为800x600、16 位色的位图,存储图像信息所需的空间为()。

A. 937.5KBB. 4218.75KBC. 4320KBD. 2880KB5. 计算机应用的最早领域是()。

A. 数值计算B. 人工智能C. 机器人D. 过程控制6.下列不属于面向对象程序设计语言的是()。

A. CB. C++C. JavaD. C#7. NOI 的中文意思是()。

A. 中国信息学联赛B. 全国青少年信息学奥林匹克竞赛C. 中国青少年信息学奥林匹克竞赛D. 中国计算机协会8. 2017 年10 月1 日是星期日,1999 年10 月1 日是()。

A. 星期三B. 星期日C. 星期五D. 星期二9.甲、乙、丙三位同学选修课程,从4 门课程中,甲选修2 门,乙、丙各选修3门,则不同的选修方案共有()种。

A. 36B. 48C. 96D. 19210. 设G 是有n 个结点、m 条边(n ≤ m)的连通图,必须删去G 的()条边,才能使得G 变成一棵树。

A. m – n + 1B. m - nC. m + n + 1D. n – m + 111. 对于给定的序列{ak},我们把(i, j) 称为逆序对当且仅当i < j 且ai > aj。

noip提高组初赛试题

noip提高组初赛试题

noip提高组初赛试题NOIP(全称为:全国青少年信息学奥林匹克竞赛)提高组初赛试题是一项重要的计算机竞赛,旨在选拔优秀的青少年计算机才华,锻炼他们的编程和解题能力。

这项竞赛的题目分为多个部分,包括算法设计与分析、数据结构、离散数学、动态规划等,挑战着选手的智力和思维方式。

本文将对NOIP提高组初赛试题进行全面分析与讨论。

第一部分:算法设计与分析在这一部分,选手将面临各种算法问题,需要设计高效的算法来解决。

例如,题目中可能会给出一个复杂的图结构,要求选手找到最短路径或最大流等问题的解决方案。

此时,选手需要充分理解各种图算法,并结合题目要求给出合理的算法设计。

第二部分:数据结构数据结构是计算机程序设计中的重要基础。

在这一部分中,选手可能会面对各种数据结构相关的问题,如树、队列、堆、图等。

选手需要灵活运用不同类型的数据结构,并结合题目要求进行正确的操作。

第三部分:离散数学离散数学是计算机科学的重要分支,对于理解和解决问题具有重要作用。

在这一部分中,选手可能会遇到图论、集合论、逻辑推理等题目。

选手需要具备扎实的离散数学知识,并能够将其应用于实际问题的解决。

第四部分:动态规划动态规划是一种解决复杂问题的算法设计技巧,也是NOIP提高组初赛试题中常出现的题型。

选手需要根据题目要求,寻找最优子结构并利用动态规划算法进行求解。

这需要选手有很高的抽象思维和编程能力。

总结:NOIP提高组初赛试题的内容丰富多样,不仅考察了选手的编程实力,还要求他们具备扎实的数学和算法基础。

通过参与这项竞赛,选手可以提高自己的逻辑思维能力、问题解决能力和编程技巧,同时也为将来的学习和工作打下坚实的基础。

总之,NOIP提高组初赛试题的挑战性和多样性,为青少年计算机爱好者提供了一个锻炼自身能力的平台。

通过认真思考和努力实践,选手可以在这项竞赛中不断成长,并取得优异的成绩。

祝愿所有参加NOIP提高组初赛的选手能够取得理想的成绩,为未来的计算机领域贡献自己的力量!。

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 算法求最 小生成树。

noip2017普及组初赛试题+答案

noip2017普及组初赛试题+答案

noip2017普及组初赛试题+答案第 23 届全国青少年信息学奥林匹克联赛初赛普及组 C++ 语言试题竞赛时间: 2017 年 10 月 14 日 14:30~16:30页,答题纸共有 2 页,满分 100 分。

请在答题纸上作答,写在试题纸选手注意:1 、试题纸共有 8 上的一律无效。

2 、不得使用任何电子设备如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共 20 1. 在 8 位二进制补码中, A. 43 B. -85 C. -43 解析:补码就是符号位不变,结论: -85 答案 B题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选项)10101011 表示的数是十进制下的 ( ) 。

D. -84其他各位逐位求反再加一2. 计算机存储数据的基本单位是 (A. bitB. ByteC. GBD. KB)。

3. 下列协议中与电子邮件无关的是( )。

A. POP3B. SMTPC. WTOD. IMAP 4. 分辨率为 800x600 、16 位色的位图,存储图像信息所需的空间为 ( )。

A.937.5KBB. 4218.75KBC.4320KBD. 2880KB 解析:800*600*16/8=A5. 计算机应用的最早领域是 ( )。

A. 数值计算B. 人工智能C. 机器人D. 过程控制6. 下列不属于面向对象程序设计语言的是 A.C B. C++ C. Java D. C# 解析:新出的语言都是面向对象的, OOP 的,旧的不是,答案 A7.NOI 的中文意思是 ( ) 。

A. 中国信息学联赛B. 全国青少年信息学奥林匹克竞赛C. 中国青少年信息学奥林匹克竞赛D. 中国计算机协会解析:全国青少年信息学奥林匹克竞赛答案:B8. 2017 年 10 月 1 日是星期日, 1999A. 星期三B. 星期日年 10 月 1 日是 ( ) 。

C. 星期五D. 星期二解析:什么年是闰年?你首先想到的可能是能被 4 整除的年就是闰年。

NOIP2017普及组初赛C++试题及答案

NOIP2017普及组初赛C++试题及答案
for (i=0;i<s.length();i++)ts[]]++;
for(i= 0;i<s.length();i++)if([s[]]== 1){ cout << s[i]<< endl; return 0;
cout << "no" << endl; return 0;

输入∶xyzxyw
输出∶_
。。;
。 。 。。 。。人;人
三、阅读程序写结果(共 4题,每题 8分,共计 32 分)
1.#include using namespace std;
一int main(){ int t[256]; string s; int i;
cin >> s;
for (i=0;i<256;i++)t[i]=0;
A. POP3 B.SMTP C.WTO D.IMAP
4.分辨率为 800x600、16 位色的位图,存储图像信息所需的空间为()。
A.937.5KB B.4218.75KB C.4320KB D.2880KB
5.计算机应用的最早领域是()。
A.数值计算 B.人工智能 C.机器人 D.过程控制
6.下列不属于面向对象程序设计语言的是()。
e2)]
countcm 或 m>Count
O)]
lbound<ubound1 或I ubound>lbound

25
2.5
[m
(lboundubound+1)div 2或
(lbound+ubound+1》/2 或
(④) (1boundrubound+1)shr 1或
(lboundvubound+1)>1 或
示每条绳子的长度,第三行是一个不超过10°的正整数 m。 输出∶绳段的最大长度,若无法切割,输出 Failed。

NOIP2017普及组初赛试题及答案

NOIP2017普及组初赛试题及答案

NOIP2017普及组初赛试题及答案NOIP2017普及组初赛试题及答案以下为NOIP2017普及组初赛的单项选择题,每题有且仅有一个正确选项,共20题,每题1.5分,共计30分。

1.在8位二进制补码中,xxxxxxxx表示的数是十进制下的( )。

A。

43B。

-85C。

-43D。

-842.计算机存储数据的基本单位是( )。

A。

bitB。

___C。

GBD。

KB3.下列协议中与电子邮件无关的是( )。

A。

POP3B。

SMTPC。

___D。

IMAP4.分辨率为800x600、16位色的位图,存储图像信息所需的空间为( )。

A。

937.5KBB。

4218.75KBC。

4320KBD。

2880KB5.计算机应用的最早领域是( )。

A。

数值计算B。

人工智能C。

机器人D。

过程控制6.下列不属于面向对象程序设计语言的是( )。

A。

CB。

C++C。

JavaD。

C#7.NOI的中文意思是( )。

A。

中国信息学联赛B。

全国青少年信息学奥林匹克竞赛C。

中国青少年信息学奥林匹克竞赛D。

___8.2017年10月1日是星期日,1999年10月1日是( )。

A。

星期三B。

星期日C。

星期五D。

星期二9.甲、乙、丙三位同学选修课程,从4门课程中,甲选修2门,乙、丙各选修3门,则不同的选修方案共有( )种。

A。

36B。

48C。

96D。

19210.设G是有n个结点、m条边(n ≤m)的连通图,必须删去G的( )条边,才能使得G变成一棵树。

A。

m–n+1B。

m-nC。

m+n+1D。

n–m+111.对于给定的序列{ak},我们把(i。

j)称为逆序对当且仅当i。

aj。

那么序列1.7.2.3.5.4的逆序对数为()个。

A。

4B。

5C。

6D。

712.表达式a * (b + c) * d的后缀形式是()。

A。

abcd*+*B。

abc+*d*C。

a*bc+*dD。

b+c*a*d13.向一个栈顶指针为hs的链式栈中插入一个指针s指向的结点时,应执行( )。

学科竞赛-NOIP2017普及组初赛试题及答案

学科竞赛-NOIP2017普及组初赛试题及答案

NOIP2017普及组初赛试题及答案NOIP2017普及组初赛试题及答案一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)1.在8位二进制补码中,10101011表示的数是十进制下的( )。

A. 43B. -85C. -43D. -842.计算机存储数据的基本单位是( )。

A. bitB. ByteC. GBD. KB3.下列协议中与电子邮件无关的是( )。

A. POP3B. SMTPC. WTOD. IMAP4.分辨率为800x600、16位色的位图,存储图像信息所需的空间为( )。

A.937.5KBB. 4218.75KBC.4320KBD. 2880KB5.计算机应用的最早领域是( )。

A.数值计算B.人工智能C.机器人D.过程控制6.下列不属于面向对象程序设计语言的是( )。

A. CB. C++C. JavaD. C#7.NOI的中文意思是( )。

A.中国信息学联赛B.全国青少年信息学奥林匹克竞赛C.中国青少年信息学奥林匹克竞赛D.中国计算机协会8. 2017年10月1日是星期日,1999年10月1日是( )。

A.星期三B.星期日C.星期五D.星期二9.甲、乙、丙三位同学选修课程,从4门课程中,甲选修2门,乙、丙各选修3门,则不同的选修方案共有( )种。

A. 36B. 48C. 96D. 19210.设G是有n个结点、m条边(n ≤m)的连通图,必须删去G的( )条边,才能使得G变成一棵树。

A.m–n+1B. m-nC. m+n+1D.n–m+111.对于给定的序列{ak},我们把(i, j)称为逆序对当且仅当i aj。

那么序列1, 7, 2, 3, 5, 4的逆序对数为()个。

A. 4B. 5C. 6D. 712.表达式a * (b + c) * d的后缀形式是()。

A. abcd*+*B. abc+*d*C. a*bc+*dD. b+c*a*d13.向一个栈顶指针为hs的链式栈中插入一个指针s指向的结点时,应执行( )。

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

NOIP2017提高组初赛试题及答案一、单项选择题(共15 题,每题1.5 分,共计22.5 分;每题有且仅有一个正确选项)1. 从( )年开始,NOIP 竞赛将不再支持Pascal 语言。

C A. 2020 B. 2021 C. 2022 D. 20232.在8 位二进制补码中,10101011 表示的数是十进制下的( )。

B A. 43 B. -85 C. -43 D.-843.分辨率为1600x900、16 位色的位图,存储图像信息所需的空间为( )。

AA. 2812.5KBB. 4218.75KBC. 4320KBD. 2880KB4. 2017年10月1日是星期日,1949年10月1日是( )。

C A. 星期三 B. 星期日 C. 星期六 D. 星期二5. 设G 是有n 个结点、m 条边(n ≤m)的连通图,必须删去G 的( )条边,才能使得G 变成一棵树。

AA.m–n+1B. m-nC. m+n+1D.n–m+16. 若某算法的计算时间表示为递推关系式:T(N)=2T(N/2)+NlogN T(1)=1则该算法的时间复杂度为( )。

C A.O(N) B.O(NlogN) C.O(N log2N) D.O(N2)7. 表达式a * (b + c) * d的后缀形式是()。

B A. abcd*+* B. abc+*d* C. a*bc+*d D. b+c*a*d8. 由四个不同的点构成的简单无向连通图的个数是( )。

C A. 32 B. 35 C. 38D. 419. 将7个名额分给4个不同的班级,允许有的班级没有名额,有( )种不同的分配方案。

D A. 60 B. 84 C. 96 D.12010. 若f[0]=0, f[1]=1, f[n+1]=(f[n]+f[n-1])/2,则随着i的增大,f[i]将接近与( )。

BA. 1/2B. 2/3 D. 111. 设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法最坏情况下至少要做( )次比较。

D A. n2 B. Nlogn C. 2n D.2n-112. 在n(n>=3)枚硬币中有一枚质量不合格的硬币(质量过轻或质量过重),如果只有一架天平可以用来称重且称重的硬币数没有限制,下面是找出这枚不合格的硬币的算法。

请把a-c三行代码补全到算法中。

2. 将A中硬币分成X,Y,Z三个集合,使得|X|=|Y|=k, |Z|=n-2k3. if W(X)≠W(Y) //W(X), W(Y)分别为X或Y的重量4. then_______5. else_______6. __________7. if n>2 then goto 18. if n=2 then 任取A中1枚硬币与拿走硬币比较,若不等,则它不合格;若相等,则A中剩下的硬币不合格9. if n=1 then A中硬币不合格正确的填空顺序是( )。

D A. b,c,a B. c,b,a C. c,a,b D.a,b,c13. 在正实数构成的数字三角形排列形式如图所示,第一行的数为a11;第二行的数从左到右依次为a21,a22;…第n行的数为an1,an2,…,ann。

从a11开始,每一行的数aij只有两条边可以分别通向下一行的两个数a(i+1)j和a(i+1)(j+1)。

用动态规划算法找出一条从a11向下通到an1,an2,…,ann中某个数的路径,使得该路径上的数之和达到最大。

令C[i,j]是从a11到aij的路径上的数的最大和,并且C[i,0]=C[0,j]=0,则C[i,j]=( )。

AA. max{C[i-1,j-1],C[i-1,j]}+aijB. C[i-1,j-1]+c[i-1,j]C. max{C[i-1,j-1],C[i-1,j]}+1D. max{C[i,j-1],C[i-1,j]}+aij14. 小明要去南美洲旅游,一共乘坐三趟航班才能到达目的地,其中第1个航班准点的概率是0.9,第2个航班准点的概率为0.8,第3个航班准点的概率为0.9。

如果存在第i个(i=1,2)航班晚点,第i+1个航班准点,则小明将赶不上第i+1个航班,旅行失败;除了这种情况,其他情况下旅行都能成功。

请问小明此次旅行成功的概率是( )。

DA. 0.5B. 0.648C. 0.72D.0.7415. 欢乐喷球:儿童游乐场有个游戏叫“欢乐喷球”,正方形场地中心能不断喷出彩色乒乓球,以场地中心为圆心还有一个圆轨道,轨道上有一列小火车在匀速运动,火车有六节车厢。

假设乒乓球等概率落到正方形场地的每个地点,包括火车车厢。

小朋友玩这个游戏时,只能坐在同一个火车车厢里,可以在自己的车厢里捡落在该车厢内的所有乒乓球,每个人每次游戏有三分钟时间,则一个小朋友独自玩一次游戏期望可以得到( )个乒乓球。

假设乒乓球喷出的速度为2个/秒,每节车厢的面积是整个场地面积的1/20。

CA. 60B. 108C. 18D. 20二、不定项选择题(共5题,每题1.5分,共计7.5分;每题有一个或多个正确选项,多选或少选均不得分)1. 以下排序算法在最坏情况下时间复杂度最优的有( )。

CDA. 冒泡排序B. 快速排序C. 归并排序D. 堆排序2. 对于入栈顺序为a, b, c, d, e, f, g 的序列,下列()不可能是合法的出栈序列。

CA. a,b,c,d,e,f,gB. a,d,c,b,e,g,fC. a,d,b,c,g,f,eD.g,f,e,d,c,b,a3. 下列算法中,( )是稳定的排序算法。

D A. 快速排序 B.堆排序 C.希尔排序D. 插入排序4. 以下是面向对象的高级语言的是( )。

BD A. 汇编语言B. C++ C. Fortan D. Java5. 以下和计算机领域密切相关的奖项是( )。

BD A. 奥斯卡奖B. 图灵奖C. 诺贝尔奖D. 王选奖三、问题求解(共2 题,每题5 分,共计10 分)1. 如图所示,共有13 个格子。

对任何一个格子进行一次操作,会使得它自己以及与它上下左右相邻的格子中的数字改变(由1 变0,或由0 变1)。

现在要使得所有的格子中的数字都变为0,至少需要3 次操作。

答案 32. 如图所示,A到B是连通的。

假设删除一条细的边的代价是1,删除一条粗的边的代价是2,要让A、B不连通,最小代价是4 (2分),最小代价的不同方案数是9(3分)。

(只要有一条删除的边不同,就是不同的方案)答案4, 9四、阅读程序写结果(共4 题,每题8 分,共计32 分)1.#include<iostream>using namespacestd;int g(int m, intn, int x){int ans = 0;int i;if( n == 1)return 1;for (i=x; i <=m/n; i++)ans += g(m –i, n-1, i); return ans; }int main() {int t, m, n;cin >> m >> n;cout << g(m, n, 0) << endl; return 0; }输入: 8 4输出:152.#include<iostream>using namespacestd;int main() { int n, i, j, x,y, nx, ny;int a[40][40];for (i = 0; i< 40; i++)for (j = 0;j< 40; j++)a[i][j]= 0;cin >> n;y = 0; x = n-1;n = 2*n-1;for (i = 1; i <= n*n; i++){a[y][x] =i;ny = (y-1+n)%n;nx = (x+1)%n;if ((y == 0 && x == n-1) || a[ny][nx] !=0) y= y+1;else {y = ny; x = nx;} }for (j = 0; j < n; j++)cout << a[0][j]<< “”;cout << endl;return 0; }输入: 3输出:17 24 1 8 153.#include<iostream>using namespacestd;int n, s,a[100005], t[100005], i; void mergesort(intl, int r){if (l== r)return;int mid = (l+ r) / 2;int p = l;int i = l;int j = mid + 1;mergesort (l, mid); mergesort (mid + 1, r);while (i <= mid && j<= r){if (a[j] < a[i]){s += mid – i+1;t[p] = a[j];p++;j++; }else {t[p] = a[i];p++;i++; } }while (i <= mid){t[p] = a[i];p++;i++; }while (j <= r){t[p] = a[j];p++;j++; }for (i = l; i <= r; i++ )a[i] = t[i]; }int main() {cin >> n;for (i = 1; i <= n; i++)cin>> a[i];mergesort (1, n); cout << s << endl;return 0;}输入:62 6345 1输出:84.#include<iostream>using namespacestd;int main() {int n, m;cin >> n >> m;int x = 1;int y = 1;int dx = 1;int dy = 1;int cnt = 0;while (cnt != 2) {cnt = 0;x = x + dx;y = y + dy;if (x == 1 || x == n) {++cnt;dx = -dx; }if (y == 1 || y == m) {++cnt;dy = -dy; } }cout << x << " " << y<< endl; return 0;}输入1: 4 3输出1: 1 3(2 分)输入2: 2017 1014输出2: 2017 1(3 分)输入3: 987 321输出3: 1 321(3分)五、完善程序(共2 题,每题14 分,共计28 分)1.大整数除法:给定两个正整数p和q,其中p不超过10100,q不超过100000,求p除以q的商和余数。

相关文档
最新文档