信息学奥赛NOIP2012普及组解题报告
NOIP2012普及组初赛及答案(C )
第十八届全国青少年信息学奥林匹克联赛初赛(普及组C++语言试题)竞赛时间:2012年10月13日14:30~16:30选手注意:●试题纸共有10页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)1.计算机如果缺少(),将无法正常启动。
A.内存B.鼠标C.U盘D.摄像头2.()是一种先进先出的线性表。
A.栈B.队列C.哈希表(散列表)D.二叉树3.目前计算机芯片(集成电路)制造的主要原料是(),它是一种可以在沙子中提炼出的物质。
A.硅B.铜C.锗D.铝4.十六进制数9A在()进制下是232。
A.四B.八C.十D.十二5.()不属于操作系统。
A.Windows B.DOS C.Photoshop D.NOI Linux6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。
A.ABC B.CBA C.ACB D.BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。
A.显示器B.CPU C.内存D.鼠标8.使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列5,4,3,2,1需要执行()次操作,才能完成冒泡排序。
A.0 B.5 C.10 D.159.1946年诞生于美国宾夕法尼亚大学的ENIAC属于()计算机。
A.电子管B.晶体管C.集成电路D.超大规模集成电路10.无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。
如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。
A.中国公司的经理与波兰公司的经理交互商业文件B.军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D.体育比赛中,每一级比赛的优胜者晋级上一级比赛11.矢量图(Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。
NOIP2012普及组初赛及答案(C++)
精心整理第十八届全国青少年信息学奥林匹克联赛初赛(普及组C++语言试题)竞赛时间:2012年10月13日14:30~16:30选手注意:● ● 1A 2.A 3A .硅 B .铜 C .锗 D .铝4.十六进制数9A 在( )进制下是232。
A .四B .八C .十D .十二5.( )不属于操作系统。
A.Windows B.DOS C.Photoshop D.NOI Linux 6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。
A.ABC B.CBA C.ACB D.BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。
A8.1A9.A10,AB.军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D.体育比赛中,每一级比赛的优胜者晋级上一级比赛11.矢量图(Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。
A.记录了大量像素块的色彩值来表示图像B.用点、直线或者多边形等基于数学方程的几何图元来表示图像C.每个像素点的颜色信息均用矢量表示D.把文件保存在互联网,采用在线浏览的方式查看图像12b,cA13A14A15而A16.地址总线的位数决定了CPU可直接寻址的内存空间大小,例如地址总线为16位,其最大的可寻址空间为64KB。
如果地址总线是32位,则理论上最大可寻址的内存空间为()。
A.128KB B.1MB C.1GB D.4GB17.蓝牙和Wi-Fi都是()设备。
A.无线广域网B.无线城域网C.无线局域网D.无线路由器18.在程序运行过程中,如果递归调用的层数过多,会因为()引发错误。
A.系统分配的栈空间溢出B.系统分配的堆空间溢出C19“A20AC1.2.在NOI期间,主办单位为了欢迎来自各国的选手,举行了盛大的晚宴。
在第十八桌,有5名大陆选手和5名港澳选手共同进膳。
为了增进交流,他们决定相隔就坐,即每个大陆选手左右旁都是港澳选手,每个港澳选手左右旁都是大陆选手。
NOIP2012普及组初赛解析
第十八届全国青少年信息学奥林匹克联赛初赛(普及组Pascal语言试题)竞赛时间:2012年10月13日14:30~16:30选手注意:●试题纸共有10页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)1.计算机如果缺少(),将无法正常启动。
A.内存B.鼠标C.U盘D.摄像头计算机常识题2.()是一种先进先出的线性表。
A.栈B.队列C.哈希表(散列表)D.二叉树栈、队列和哈希表都属于线性数据结构3.目前计算机芯片(集成电路)制造的主要原料是(),它是一种可以在沙子中提炼出的物质。
A.硅B.铜C.锗D.铝铜、锗、铝都属于金属4.十六进制数9A在()进制下是232。
A.四B.八C.十D.十二进制的转换问题十六进制——>二进制——>八进制,(9A)16——>(10011010)2——>(232)85.()不属于操作系统。
A.Windows B.DOS C.Photoshop D.NOI LinuxNOI Linux是一个专为NOI/NOIP定制的Linux发行版,适用于各种笔记本电脑、桌面电脑。
NOI Linux 集成了NOI/NOIP竞赛所需的各种编程环境,具有安装方便、使用简单的特点。
NOI Linux默认安装完成后,不需要再安装其他软件,就可用于NOI/NOIP比赛、练习。
NOI Linux是一套免费的系统,您可以下载、使用以及与您的朋友、家庭、同学或同事分享。
6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。
A.ABC B.CBA C.ACB D.BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。
A.显示器B.CPU C.内存D.鼠标常识题,CPU中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心(Control Unit)。
NOIP2012初赛普及组C++题目及答案
第十八届全国青少年信息学奥林匹克联赛初赛(普及组C++语言试题)竞赛时间:2012年10月13日14:30~16:30选手注意:●试题纸共有10页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)1.计算机如果缺少(),将无法正常启动。
A.内存B.鼠标C. U盘D.摄像头2.()是一种先进先出的线性表。
A.栈B.队列C.哈希表(散列表)D.二叉树3.目前计算机芯片(集成电路)制造的主要原料是(),它是一种可以在沙子中提炼出的物质。
A.硅B.铜C.锗D.铝4.十六进制数9A在()进制下是232。
A.四B.八C.十D.十二5.()不属于操作系统。
A.Windows B.DOS C.Photoshop D.NOI Linux6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。
A.ABC B.CBA C.ACB D.BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。
A.显示器B.CPU C.内存D.鼠标8.使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列 5,4,3,2,1需要执行()次操作,才能完成冒泡排序。
A.0 B.5 C.10 D.159. 1946年诞生于美国宾夕法尼亚大学的ENIAC属于()计算机。
A.电子管B.晶体管C.集成电路D.超大规模集成电路10.无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。
如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。
A.中国公司的经理与波兰公司的经理交互商业文件B.军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D.体育比赛中,每一级比赛的优胜者晋级上一级比赛11.矢量图(Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。
信息学奥赛NOIP普和组历届试题分析报告
采药 (noip2005普及组第三题)
辰辰是个天资聪颖的孩子,他的梦想是成为世 界上最伟大的医师。为此,他想拜附近最有威 望的医师为师。医师为了判断他的资质,给他 出了一个难题。医师把他带到一个到处都是草 药的山洞里对他说:“孩子,这个山洞里有一 些不同的草药,采每一株都需要一些时间,每 一株也有它自身的价值。我会给你一段时间, 在这段时间里,你可以采到一些草药。如果你 是一个聪明的孩子,你应该可以让采到的草药 的总价值最大。”
试计算在区间1到n的所有整数中,数字x(0≤x≤9) 共出现了多少次? 例如,在1到11中,即在1、2、3、4、5、6、7、8、 9、10、11中,数字1出现了4次。
输入:
输入共1行,包含2个整数n、x,之间用一个空格隔 开。 输出:
输出共1行,包含一个整数,表示x出现的次数。 输入示例: 11 1 输出示例: 4 其他说明:
输入 输入共1行,一个整数N。
输出 输出共1行,一个整数,表示反转后的新数。
样例输入
123 样例输出
321
统计单词个数 (noip2011普及组第二题)
一般的文本编辑器都有查找单词的功能,该功 能可以快速定位特定单词在文章中的位置,有 的还能统计出特定单词在文章中出现的次数。 现在,请你编程实现这一功能,具体要求 是:给定一个单词,请你输出它在给定的文章 中出现的次数和第一次出现的位置。注意:匹 配单词时,不区分大小写,但要求完全匹配, 即给定单词必须与文章中的某一独立单词在不 区分大小写的情况下完全相同(参见样例1), 如果给定单词仅是文章中某一单词的一部分则 不算匹配(参见样例2)。
对于100%的数据,3 ≤ n ≤ 100 测验题给出的正整数大小不超过10,000。
noip 2012 普及组 第一题
noip 2012 普及组第一题
2012年全国青少年信息学奥林匹克联赛(NOIP)是一场为广大青少年程序设计爱好者提供展示自己编程能力和竞技技巧的赛事。
普及组是面向初学者的比赛组别,题目设计相对简单,旨在培养学生对程序设计的兴趣和基本能力。
下面我们就来分析2012年NOIP普及组的第一题。
第一题的题目描述如下:小明同学有一个长度为n的序列,他希朝将这个序列从小到大排列,但是他只能进行一种操作,即把序列中的一个数加1或者减1。
问最少进行多少次操作,小明能够将这个序列排列为非降序序列。
这是一道典型的贪心算法问题。
我们可以先对原序列进行排序,得到一个非降序序列。
然后遍历每个数,计算将这个数变为当前位置的数所需的操作次数,累加得到总操作次数。
最后取所有数的总操作次数的最小值即为答案。
具体的实现过程如下:
1. 对原序列进行排序,得到一个非降序序列。
2. 遍历每个数,计算将这个数变为当前位置的数所需的操作次数。
3. 累加得到总操作次数。
4. 取所有数的总操作次数的最小值即为答案。
这样,我们就得到了最少操作次数,使得序列变为非降序序列的方法。
这个算法的时间复杂度为O(nlogn),即对序列排序的复杂度,是一个较为高效的算法。
通过解答这道题目,学生不仅能够锻炼自己的编程能力,还能够培养贪心算法的思维方式,对算法的设计和分析有了更深的理解。
希望广大学生能够通过参加NOIP等比赛,不断提升自己的程序设计能力,享受编程的乐趣。
Noip2012普及组解题报告
【程序】(算法 1 省略)
算法 2:
#include<iostream> #include<cstdio> #include<fstream> #include<cmath> using namespace std; short pr[50000]={0}; int main() {
【输入输出样例】
prime.inprime.out 217
【数据范围】
对于 60%的数据,6 ≤ n ≤ 1000。 对于 100%的数据,6 ≤ n ≤ 2*10^9。 【算法分析】 算法 1 暴力解法 根据”对于 60%的数据,6 ≤ n ≤ 1000”,易得出模拟解法。 将数字从 1 循环到 trunc(sqrt(n)),得到第一个可以被 n 整除的数字再判断是否为素数,以 此类推。
14 01 15 12 1 5 【输入输出样例说明】 第一层: 0 号房间,有楼梯通往上层,指示牌上的数字是 2; 1 号房间,无楼梯通往上层,指示牌上的数字是 3; 2 号房间,有楼梯通往上层,指示牌上的数字是 4; 第二层: 0 号房间,无楼梯通往上层,指示牌上的数字是 1; 1 号房间,有楼梯通往上层,指示牌上的数字是 5; 2 号房间,有楼梯通往上层,指示牌上的数字是 2; 小明首先进入第一层(底层)的 1 号房间,记下指示牌上的数字为 3,然后从这个房间 开始,沿逆时针方向选择第 3 个有楼梯的房间 2 号房间进入,上楼后到达第二层的 2 号房 间,记下指示牌上的数字为 2,由于当前房间本身有楼梯通向上层,该房间作为第一个有 楼梯的房间。因此,此时沿逆时针方向选择第 2 个有楼梯的房间即为 1 号房间,进入后 上楼梯到达顶层。这时把上述记下的指示牌上的数字加起来,即 3+2=5,所以打开宝箱的 密钥就是 5。 【数据范围】
NOIP2012普及组初赛及答案(C )
第十八届全国青少年信息学奥林匹克联赛初赛(普及组C++语言试题)竞赛时间:2012年10月13日14:30~16:30选手注意:●试题纸共有10页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)1.计算机如果缺少(),将无法正常启动。
A.内存B.鼠标C.U盘D.摄像头2.()是一种先进先出的线性表。
A.栈B.队列C.哈希表(散列表)D.二叉树3.目前计算机芯片(集成电路)制造的主要原料是(),它是一种可以在沙子中提炼出的物质。
A.硅B.铜C.锗D.铝4.十六进制数9A在()进制下是232。
A.四B.八C.十D.十二5.()不属于操作系统。
A.Windows B.DOS C.Photoshop D.NOI Linux6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。
A.ABC B.CBA C.ACB D.BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。
A.显示器B.CPU C.内存D.鼠标8.使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列5,4,3,2,1需要执行()次操作,才能完成冒泡排序。
A.0 B.5 C.10 D.159.1946年诞生于美国宾夕法尼亚大学的ENIAC属于()计算机。
A.电子管B.晶体管C.集成电路D.超大规模集成电路10.无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。
如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。
A.中国公司的经理与波兰公司的经理交互商业文件B.军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D.体育比赛中,每一级比赛的优胜者晋级上一级比赛11.矢量图(Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。
NOIP2012普及组初赛及答案(计算机C++)
第十八届全国青少年信息学奥林匹克联赛初赛(普及组C++语言试题)竞赛时间:2012年10月13日14:30~16:30选手注意:●试题纸共有10页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)1.计算机如果缺少(),将无法正常启动。
A.内存B.鼠标C.U盘D.摄像头2.()是一种先进先出的线性表。
A.栈B.队列C.哈希表(散列表)D.二叉树3.目前计算机芯片(集成电路)制造的主要原料是(),它是一种可以在沙子中提炼出的物质。
A.硅B.铜C.锗D.铝4.十六进制数9A在()进制下是232。
A.四B.八C.十D.十二5.()不属于操作系统。
A.Windows B.DOS C.Photoshop D.NOI Linux6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。
A.ABC B.CBA C.ACB D.BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。
A.显示器B.CPU C.内存D.鼠标8.使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列5,4,3,2,1需要执行()次操作,才能完成冒泡排序。
A.0 B.5 C.10 D.159.1946年诞生于美国宾夕法尼亚大学的ENIAC属于()计算机。
A.电子管B.晶体管C.集成电路D.超大规模集成电路10.无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。
如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。
A.中国公司的经理与波兰公司的经理交互商业文件B.军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D.体育比赛中,每一级比赛的优胜者晋级上一级比赛11.矢量图(Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。
2012年信息学奥赛NOIP普及组初赛试题及参考答案
一、选择题
6. 如果一棵二叉树的中序遍历是 BAC,那么它的先序遍历不可能是( )。 A. ABC B. CBA C. ACB D. BAC
│7
一、选择题
7. 目前个人电脑的( )市场占有率最靠前的厂商包括 Intel、AMD 等公司。 A. 显示器 B. CPU C. 内存 D. 鼠标
│8
普及组2012年初赛
一、选择题 二、问题解答 三、程序阅读 四、程序完善
│1
一、选择题
1. 计算机如果缺少( ),将无法正常启动。 A. 内存 B. 鼠标 C. U 盘 D. 摄像头
│2
一、选择题
2. ( )是一种先进先出的线性表。 A. 栈 B. 队列 C. 哈希表(散列表) D. 二叉树
│3
│ 25
二、问题解答
1. 如果平面上任取 n 个整点(横纵坐标都是整数),其中 一定存在两个点,它们连线的中点也是整点,那么n 至少是 ______5____。
│ 26
二、问题解答
⒉在 NOI 期间,主办单位为了欢迎来自各国的选手,举行 了盛大的晚宴。在第十八桌,有 5 名大陆选手和 5 名港澳选手共同进膳。为了增进交流,他们决定相隔就坐, 即每个大陆选手左右旁都是港澳选手,每个港澳选 手左右旁都是大陆选手。那么,这一桌一共有_______种不同 的就坐方案。
│ 22
一、选择题
18. 在程序运行过程中,如果递归调用的层数过多,会因为( )引发错误。 A.系统分配的栈空间溢出 B.系统分配的堆空间溢出 C.系统分配的队列空间溢出 D.系统分配的链表空间溢出
│ 23
一、选择题
19. 原字符串中任意一段连续的字符所组成的新字符串称为子串。则字符“AAABBBCCC”共
noip 2012 普及组 第一题
noip 2012 普及组第一题
2012年全国青少年信息学奥林匹克普及组(NOIP)比赛的第一题涉及了一个有趣的问题。
在本文中,我们将探讨这个问题,并提供一种解决方案。
题目要求参赛者计算一个数的所有因子之和。
因子是指能整除该数的所有整数。
例如,数值6的因子是1、2、3和6,所以它们的和为12。
为了解决这个问题,我们可以使用一个循环来遍历从1到给定数值之间的所有整数。
对于每个整数,我们检查它是否能整除给定的数。
如果可以整除,我们将其添加到一个累加器变量中。
最后,我们的累加器变量将包含所有因子的总和。
以下是一个用Python编写的解决方案示例:
```
def sum_of_factors(num):
sum = 0
for i in range(1, num+1):
if num % i == 0:
sum += i
return sum
# 测试示例
print(sum_of_factors(6)) # 输出:12
```
在上述代码中,我们定义了一个名为`sum_of_factors`的函数,接受一个参数`num`。
我们使用`for`循环遍历从1到`num`的所有整数,并使用条件语句`if`检查每个整数是否能整除`num`。
如果能整除,我们将该整数添加到`sum`变量中。
最后,我们返回`sum`作为结果。
这是NOIP 2012普及组第一题的解决方案。
希望这个解决方案能帮助你更好地理解并解决类似问题。
NOIP2012普及组复赛解题报告
第一题:筛选法求素数。
var a:array[1..50000]of boolean;x,y,i,j,n:longint;beginassign(input,'prime.in'); reset(input);assign(output,'prime.ans'); rewrite(output);readln(n);fillchar(a,sizeof(a),true);for i:=2 to trunc(sqrt(50000)) doif a[i] thenfor j:=2 to 50000 div i doa[i*j]:=false;for i:=2 to 50000 doif a[i] and (n mod i=0) thenbegin writeln(n div i); break; end;close(input); close(output);end.第二题:模拟法,因为指示牌上的数字较大,可先统计每层有楼梯的个数,再取余。
var a,b:array[0..10000,0..100]of longint; x,y,i,j,k,n,m,s,t,w:longint;c:array[1..10000]of integer;begin{ assign(input,'c:\1.in'); reset(input);}assign(input,'treasure.in'); reset(input);assign(output,'treasure.ans'); rewrite(output);readln(n,m);for i:=1 to n do begins:=0;for j:=0 to m-1 do beginreadln(a[i,j],b[i,j]);if a[i,j]=1 then s:=s+1;end;c[i]:=s;end;readln(x); s:=0;for i:=1 to n do beginy:=x; s:=(s+b[i,x])mod 20123; t:=b[i,x]mod c[i]+c[i];repeatif a[i,y]=1 then t:=t-1;if t=0 then break;y:=y+1;if y=m then y:=0;until false;x:=y;end;writeln(s); close(input); close(output);end.第三题:动态规划F[I,J] 表示用I种花摆J盆共有和摆法,则F[I,J]=(∑F[I-1,J] ),(注意只取J-I的盆数~J盆求和)var a:array[0..100,0..100]of longint;i,j,k,m,n,s,t:longint; w:array[0..100]of longint;beginassign(input,'flower.in'); reset(input);assign(output,'flower.ans'); rewrite(output);readln(n,m);for i:=1 to n do read(w[i]);for i:=1 to w[1] do a[1,i]:=1;for i:=0 to m do a[i,0]:=1;for i:=2 to m do beginfor j:=1 to m do begins:=0;for k:=j-w[i] to j doif k>=0 then s:=(s+a[i-1,k])mod 1000007;a[i,j]:=s;end;end;writeln(a[m,m]);close(input); close(output);end.4、搜索,可是第10个数据过不了,要输出“-1”,不知道哪里BUG了,不想了。
Noip2012普及组解题报告
while j<>x do begin t:=(t+1) mod m; if a[i,t,1]=1 then j:=j+1; end; s:=s+x; end; writeln(s mod 20123); close(input); close(output); end.
算法 2
var n,m,i,j,k,ans,x,y,z:longint; a:array[1..10005,1..105,1..2]of longint; s:array[1..10005]of longint; begin assign(input,'treasure.in'); assign(output,'treasure.out'); reset(input); rewrite(output); readln(n,m); fillchar(s,sizeof(s),0); for i:=1 to n do for j:=1 to m do begin readln(a[i,j,1],a[i,j,2]); s[i]:=s[i]+a[i,j,1]; end; readln(x); x:=(x mod m)+1; ans:=0; for i:=1 to n do begin ans:=(ans+a[i,x,2]) mod 20123; if i=n then break; z:=x; a[i,x,2]:=a[i,x,2] mod s[i]; if a[i,x,2]=0 then a[i,x,2]:=s[i]; y:=a[i,x,1]; while y<a[i,z,2] do begin x:=(x mod m)+1; y:=y+a[i,x,1];
noip2012 初赛普及组c++试题及答案
第十八届全国青少年信息学奥林匹克联赛初赛(普及组C++语言试题)竞赛时间:2012年10月13日14:30~16:30选手注意:●试题纸共有10页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)1.计算机如果缺少(),将无法正常启动。
A.内存B.鼠标C.U盘D.摄像头2.()是一种先进先出的线性表。
A.栈B.队列C.哈希表(散列表)D.二叉树3.目前计算机芯片(集成电路)制造的主要原料是(),它是一种可以在沙子中提炼出的物质。
A.硅B.铜C.锗D.铝4.十六进制数9A在()进制下是232。
A.四B.八C.十D.十二5.()不属于操作系统。
A.Windows B.DOS C.Photoshop D.NOI Linux6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。
A.ABC B.CBA C.ACB D.BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。
A.显示器B.CPU C.内存D.鼠标8.使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列5,4,3,2,1需要执行()次操作,才能完成冒泡排序。
A.0 B.5 C.10 D.159.1946年诞生于美国宾夕法尼亚大学的ENIAC属于()计算机。
A.电子管B.晶体管C.集成电路D.超大规模集成电路10.无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。
如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。
A.中国公司的经理与波兰公司的经理交互商业文件B.军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D.体育比赛中,每一级比赛的优胜者晋级上一级比赛11.矢量图(Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。
2012普及组初赛试题与答案
一、单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选 项)
1. A. 2. A. C. 3. A. 4. A. 5. A. 6. A. 7. A. ( ( 栈 哈希表(散列表) 计算机如果缺少( 内存 ) ,将无法正常启动。 B. 鼠标 C. U盘 D. 摄像头
)是一种先进先出的线性表。 B. D. 队列 二叉树 ),它是一种可以在沙子中提炼 D. 铝
)市场占有率最靠前的厂商包括 Intel、AMD 等公司。 B. CPU C. 内存 D. 鼠标
CCF NOIP2012 初赛 普及组 C 1
8.
使用冒泡排序对序列进行升序排序, 每执行一次交换操作将会减少 1 个逆序对, 因此序 列 5, 4, 3, 2, 1 需要执行( A. 0 )次交换操作,才能完成冒泡排序。 B. 5 C. 10 D. )计算机。 15
四、完善程序(前 2 空每空 2 分,后 8 空每空 3 分,共计 28 分)
1. (坐标统计)输入 n 个整点在平面上的坐标。对于每个点,可以控制所有位于它左下方 的点(即 x、y 坐标都比它小),它可以控制的点的数目称为“战斗力”。依次输出每 个点的战斗力,最后输出战斗力最高的点的编号(如果若干个点的战斗力并列最高,输 出其中最大的编号)。
CCF NOIP2012 初赛 普及组 C 8
2 3 3 1 3 2 #include<stdio.h> #include<string.h> #define SIZE 25 int data[SIZE], used[SIZE]; int n, m, i, j, k; int flag; int main() { scanf("%d%d", &n, &m); memset(used, 0, sizeof(used)); for (i = 1; i <= m; i++) { data[i] = i; used[i] = 1; } flag = 1; while (flag == 1) { for (i = 1; i <= m-1; i++) printf("%d ", data[i]); printf("%d\n", data[m]); flag = { ② { used[j] = 1; data[i] = flag = 1; break; } ③ ; ; for (j = data[i]+1; j <= n; j++) if (!used[j]) ① ; for (i = m; i >= 1; i--)
NOIP2012普及组初赛及答案(C++)
第十八届全国青少年信息学奥林匹克联赛初赛(普及组C++语言试题)竞赛时间:2012年10月13日14:30~16:30选手注意:●试题纸共有10页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)1.计算机如果缺少(),将无法正常启动。
A.内存B.鼠标C.U盘D.摄像头2.()是一种先进先出的线性表。
A.栈B.队列C.哈希表(散列表)D.二叉树3.目前计算机芯片(集成电路)制造的主要原料是(),它是一种可以在沙子中提炼出的物质。
A.硅B.铜C.锗D.铝4.十六进制数9A在()进制下是232。
A.四B.八C.十D.十二5.()不属于操作系统。
A.Windows B.DOS C.Photoshop D.NOI Linux6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。
A.ABC B.CBA C.ACB D.BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。
A.显示器B.CPU C.内存D.鼠标8.使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列5,4,3,2,1需要执行()次操作,才能完成冒泡排序。
A.0 B.5 C.10 D.159.1946年诞生于美国宾夕法尼亚大学的ENIAC属于()计算机。
A.电子管B.晶体管C.集成电路D.超大规模集成电路10.无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。
如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。
A.中国公司的经理与波兰公司的经理交互商业文件B.军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D.体育比赛中,每一级比赛的优胜者晋级上一级比赛11.矢量图(Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。
noip2012普及组初赛及答案(c)
第十八届全国青少年信息学奥林匹克联赛初赛(普及组C++语言试题)竞赛时间:2012年10月13日14:30~16:30选手注意:●试题纸共有10页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)1.计算机如果缺少(),将无法正常启动。
A.内存B.鼠标C.U盘D.摄像头2.()是一种先进先出的线性表。
A.栈B.队列C.哈希表(散列表)D.二叉树3.目前计算机芯片(集成电路)制造的主要原料是(),它是一种可以在沙子中提炼出的物质。
A.硅B.铜C.锗D.铝4.十六进制数9A在()进制下是232。
A.四B.八C.十D.十二5.()不属于操作系统。
A.Windows B.DOS C.Photoshop D.NOI Linux6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。
A.ABC B.CBA C.ACB D.BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。
A.显示器B.CPU C.内存D.鼠标8.使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列5,4,3,2,1需要执行()次操作,才能完成冒泡排序。
A.0 B.5 C.10 D.159.1946年诞生于美国宾夕法尼亚大学的ENIAC属于()计算机。
A.电子管B.晶体管C.集成电路D.超大规模集成电路10.无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。
如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。
A.中国公司的经理与波兰公司的经理交互商业文件B.军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D.体育比赛中,每一级比赛的优胜者晋级上一级比赛11.矢量图(Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。
NOIP2012普及组初赛及答案(C++)精编版
第十八届全国青少年信息学奥林匹克联赛初赛(普及组C++语言试题)竞赛时间:2012年10月13日14:30~16:30选手注意:●试题纸共有10页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料一、单项选择题(共20题,每题1.5分,共计30分;每题且仅有一个正确选项)1.计算机如果缺少(),将无法正常启动。
A.内存B.鼠标C.U盘D.摄像头2.()是一种先进先出的线性表。
A.栈B.队列C.哈希表(散列表)D.二叉树3.目前计算机芯片(集成电路)制造的主要原料是(),它是一种可以在沙子中提炼出的物质。
A.硅B.铜C.锗D.铝4.十六进制数9A在()进制下是232。
A.四B.八C.十D.十二5.()不属于操作系统。
A.Windows B.DOS C.Photoshop D.NOI Linux6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。
A.ABC B.CBA C.ACB D.BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。
A.显示器B.CPU C.内存D.鼠标8.使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列5,4,3,2,1需要执行()次操作,才能完成冒泡排序。
A.0 B.5 C.10 D.159.1946年诞生于美国宾夕法尼亚大学的ENIAC属于()计算机。
A.电子管B.晶体管C.集成电路D.超大规模集成电路10.无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。
如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。
A.中国公司的经理与波兰公司的经理交互商业文件B.军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D.体育比赛中,每一级比赛的优胜者晋级上一级比赛11.矢量图(Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息学奥赛NOIP2012普及组解题报告1.质因数分解(prime.cpp/c/pas)【问题描述】已知正整数n 是两个不同的质数的乘积,试求出较大的那个质数。
【输入】输入文件名为prime.in。
输入只有一行,包含一个正整数n。
【输出】输出文件名为prime.out。
输出只有一行,包含一个正整数p,即较大的那个质数。
【输入输出样例】【数据范围】对于60%的数据,6 ≤ n≤ 1000。
对于100%的数据,6 ≤n ≤2*109。
#include <stdio.h>#include <math.h>int main(){int n,i,k;scanf("%d",&n);for (i=2, k=sqrt(n) + 1;i<k;++i)if (n % i == 0){printf("%d\n", n / i);break;}return 0;}第二题寻宝[题目]传说很遥远的藏宝楼顶层藏着诱人的宝藏。
小明历尽千辛万苦终于找到传说中的这个藏宝楼,藏宝楼的门口竖着一个木板,上面写有几个大字:寻宝说明书。
说明书的内容如下:藏宝楼共有N+1层,最上面一层是顶层,顶层有一个房间里面藏着宝藏。
除了顶层外,藏宝楼另有N层,每层M个房间,这M个房间围成一圈并按逆时针方向依次编号为0,…,M-1。
其中一些房间有通往上一层的楼梯,每层楼的楼梯设计可能不同。
每个房间里有一个指示牌,指示牌上有一个数字x,表示从这个房间开始按逆时针方向选择第x个有楼梯的房间(假定该房间的编号为k),从该房间上楼,上楼后到达上一层的k号房间。
比如当前房间的指示牌上写着2,则按逆时针方向开始尝试,找到第2个有楼梯的房间,从该房间上楼。
如果当前房间本身就有楼梯通向上层,该房间作为第一个有楼梯的房间。
寻宝说明书的最后用红色大号字体写着:“寻宝须知:帮助你找到每层上楼房间的指示牌上的数字(即每层第一个进入的房间内指示牌上的数字)总和为打开宝箱的密钥”。
请帮助小明算出这个打开宝箱的密钥。
1 #include <stdio.h>2 int x[10003][103], fjx[103];3 bool k[10003][103];4 intmain()5 {6int n, m, s, t, key = 0, turn;7scanf("%d %d", &n, &m);8for (int i = 0, j; i < n; ++i)9for (j = 0; j < m; ++j)10scanf("%d %d", &k[i][j], &x[i][j]);11scanf("%d", &s);12 key = 0;13 for (int i = 0, j = s, h = 0, fj = 0; i < n; ++i)14 {7key = (key + x[i][s]) % 20123;8while (h < m)17 {18 if (k[i][j] == 1)19fjx[fj++] = j;20 ++h;21 ++j;22if (j == m)23j = 0;24}25t = (x[i][s] - 1) % fj;26s = fjx[t];27}28printf("%d\n", key);29return 0;30 }第三题摆花[题目]小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m 盆。
通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号。
为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列。
试编程计算,一共有多少种不同的摆花方案。
据说是个多重背包...但是我直接写的DP...#include <stdio.h>int a[102], f[102];int main() {int n, m, sum = 0;scanf("%d%d", &n, &m);for(int i = 1; i <= n; ++i)scanf("%d", &a[i]);f[0] = 1;for (int i = 1, j, k; i <= n; sum = 0, ++i) {for (j = m, sum = 0; j > a[i]; f[j] = sum, sum = 0, --j)for (k = j - a[i]; k <= j; sum %= 1000007, ++k)sum += f[k];for (j = a[i], sum = 0; j > -1; f[j] = sum, sum = 0, --j)for (k = 0; k <= j; sum %= 1000007, ++k)sum += f[k]; }printf("%d\n", f[m]);return 0; }第四题文化之旅[题目]有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家)。
不同的国家可能有相同的文化。
不同文化的国家对其他文化的看法不同,有些文化会排斥外来文化(即如果他学习了某种文化,则他不能到达排斥这种文化的其他国家)。
现给定各个国家间的地理关系,各个国家的文化,每种文化对其他文化的看法,以及这位使者游历的起点和终点(在起点和终点也会学习当地的文化),国家间的道路距离,试求从起点到终点最少需走多少路。
吵了很长时间的一道题, 很多人说Floyd可以直接秒杀, DFS不行. 但是有人构造出了卡死Floyd的数据, 所以保险DFS比较好. 另外要从终点开始搜, 从原点会得60(TLE). 另外CCF的数据太弱了, 不考虑文化差异能得90...总之, 这道题的数据比较弱, floyd可以过. 但是真正完全AC的是深度优先搜索.1 #include <stdio.h>2 #include <stdlib.h>3 int n, k, m, s, t, distance[101][101], culture[101], fight[101][101], search[101], p = 0;4 bool found = false;5 int min(int a, intb)6 {7return (a > b ? b : a);8}9void DFS(inttarget)10{11bool CanInqueue = true;12int queue[101] = {0}, tail = 0;13search[++p] = target;14if (target == t)15{16found = true;17return;18}19for (int i = 1, j; i <= n; ++i)20{21for (j = 1; j <= p; ++j)22{23if (search[j] == i || culture[search[j]] == culture[i] || fight[culture[i]][culture[search[j]]] == 1)24{25CanInqueue = false;26break;27}28}29if (distance[target][i] == 1001)30CanInqueue = false;31if (CanInqueue)32queue[++tail] = i;33else34CanInqueue = true;35}36 for (int i = 1; i <= tail; ++i)37 distance[s][queue[i]] = min(distance[s][queue[i]], distance[s][target] + dista nce[target][queue[i]]);38for (int i = 1; i <= tail; ++i)39DFS(queue[i]);40return;41}42intmain()43{44for (int i = 1, j; i < 101; ++i)45for (j = 1; j < 101; ++j)46distance[i][j] = 1001;47scanf("%d %d %d %d %d", &n, &k, &m, &s, &t);48for (int i = 1; i <= n; ++i)49scanf("%d", &culture[i]);50for (int i = 1, j; i <= k; ++i)51 for (j = 1; j <= k; ++j)52 scanf("%d", &fight[i][j]);53 for (int i = 0, y, z, c; i < m; ++i, distance[z][y] > c ? distance[y][z] = distance[z][ y] = c : c = 2147483646)54scanf("%d %d %d", &y, &z, &c);55DFS(s);56if (found)57printf("%d\n", distance[s][t]);58 else59 printf("-1\n");60return 0;61}NOIP2015普及组题解1. 金币 (coin.cpp/c/pas)【问题描述】国王将金币作为工资,发放给忠诚的骑士。
第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币。
请计算在前K天里,骑士一共获得了多少金币。
【输入格式】输入文件名为coin.in。
输入文件只有1行,包含一个正整数K,表示发放金币的天数。