2011noip普及组初赛试题(c语言)
- 格式:doc
- 大小:64.00 KB
- 文档页数:10
全国信息学奥林匹克联赛(NOIP2011)复赛普及组(请选手务必仔细阅读本页内容)注意事项:1、文件名(程序名和输入输出文件名)必须使用英文小写。
2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。
3、全国统一评测时采用的机器配置为:CPU P4 3.0GHz,内存1G,上述时限以此配置为准。
各省在自测时可根据具体配置调整时限。
1.数字反转(reverse.cpp/c/pas)【问题描述】给定一个整数,请将该数各个位上数字反转得到一个新数。
新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
【输入】输入文件名为reverse.in。
输入共1行,一个整数N。
【输出】输出文件名为reverse.out。
输出共1行,一个整数,表示反转后的新数。
【输入输出样例1】【输入输出样例2】【数据范围】-100,000≤N≤100,000。
2.统计单词数(stat.cpp/c/pas)【问题描述】一般的文本编辑器都有查找单词的功能,该功能能快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。
现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在某篇文章中出现的次数和第一次出现的位置。
注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2)。
【输入】输入文件名为stat.in,2行。
第1行为一个字符串,其中只含字母,表示给定单词;第2行为一个字符串,其中只可能包含字母和空格,表示给定的文章。
【输出】输出文件名为stat.out。
只有一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中位置,位置从0开始);如果单词在文章中没有出现,则直接输出一个整数-1。
NOIP 2011初赛模拟训练题(Pascal 语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共10题,每题1.5分,共计15分。
每题有且仅有一个正确答案)。
1、微型计算机中,( ) 的存取速度最快。
A.高速缓存B.外存储器C. 寄存器D. 内存储器E. 临时存储器2、已知A=35H,则A∧05H∨A∧3OH的结果是:( ) 。
A)3OH B)05H C) 32H D) 53H E)35H3、GB2312-80规定了一级汉字3755个,二级汉字3008个,其中二级汉字字库中的汉字是以()为序排列的。
A.以笔划多少B.以部首C.以ASCⅡ码D.以机内码E.以拼音4、在config.sys文件中,装入特定的可安装设备驱动程序的命令是().A.buffer B.files C.xcopy D.device E. load5、启动计算机引导DOS是将操作系统()A. 从磁盘调入中央处理器B. 从内存储器调入高速缓冲存储器C. 从软盘调入硬盘D. 从系统盘调入内存储器E. 从系统盘调入中央处理器6、Ip v6地址是由( ) 位二进制数码表示的。
A.16 B.32 C. 128 D. 64 E. 87、设有一个含有13个元素的Hash表(0~12),Hash函数是:H(key)=key % 13,其中% 是求余数运算。
用线性探查法解决冲突,则对于序列(2、8、31、20、19、18、53、27),18应放在第几号格中( ) 。
A. 9B.5C. 4D. 0E. 78、在有N个叶子节点的哈夫曼树中,其节点总数为()A.不确定B. 2N-1C. 2N+1D. 2NE. N+19、表达式(1+34)*5-56/7 的后缀表达式为()。
A. 1+34*5-56/7B. -*+1 34 5/56 7C. 1 34 +5*56 7/-D. 1 34 5* +56 7/-E. 1 34+5 56 7-*/10、计算机软件保护法是用来保护软件( )的。
N O I P2011第十七届信息学奥林匹克竞赛初赛(普及组C++语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共20题,每题1.5分,共计30分。
每题有且仅有一个正确选项。
)1.在二进制下,1011001+()=1100110。
A.1011B.1101 C.1010D.11112.字符“0”的ASCII码为48,则字符“9”的ASCII码为()。
A.39B.57 C.120D.视具体的计算机而定3.一片容量为8G的SD卡能储存大约()张大小为2MB的数码照片。
A.1600B.2000 C.4000D.160004.摩尔定律(Moore'slaw)是由英特尔创始人之一戈登·摩尔(GordonMoor)提出来的。
根据摩尔定律,在过去几十年一级在可预测的未来纪念,单块集成电驴的集成度大约每()个月翻一番。
A.1B.6C.18D.365.无向完全图是图中每对顶点之间都恰好有一条边的简单图。
已知无向完全图G有7个顶点,则它共有()条边。
A.7B.21 C.42D.496.寄存器是()的重要组成部分。
A.硬盘B.高速缓存C.内存D.中央处理器(CPU)7.如果根结点的深度记为1,则一棵恰有2011个叶结点的二叉树的深度最少是()。
A.10B.11 C.12D.138.体育课的铃声响了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。
每个同学按顺序来到操场时,都从排尾走到排头,找到第一个比自己高的同学,并站在他的后面。
这种站队的方法类似于()算法。
A.快速排序B.插入排序C.冒泡排序D.归并排序9.一个正整数在二进制下有100位,则它在十六进制下有()位。
A.7B.13 C.25D.不能确定10.有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。
这种想法是()。
A.正确的,将文件放入回收站以为着彻底删除、无法恢复B.不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复C.不正确的,即使回收站清空,文件只是被标记为删除,仍可能通过回复软件找回D.不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除11.广度优先搜索时,需要用到的数据结构是()。
第11届全国青少年信息学奥林匹克联赛初赛试题(普P)附答案第十一届全国青少年信息学奥林匹克联赛初赛试题(普及组 pascal 语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一.选择一个正确答案代码(A/B/C/D/E),填入每题的括号内(每题1.5分, 共30分)1. 在字符串“ababacbabcbdecced”中出现次数最多的字母出现了()次。
A. 6B. 5C. 4D. 3E. 22. 设全集I = {a, b, c, d, e, f, g, h},集合A = {a, b, c, d, e, f},B = {c, d, e},C = {a, d},那么集合A? B? ~ C为()。
A. {c, e}B. {d, e}C. {e}D. {c, d, e}E. {d, f}3. 和十进制数23的值相等的二进制数是()。
A. 10110B. 11011C. 11011D. 10111E. 100114. 完全二叉树的结点个数为11,则它的叶结点个数为()。
A. 4B.3C.5D. 2E. 65. 平面上有五个点A(5, 3), B(3, 5), C(2, 1), D(3, 3), E(5, 1)。
以这五点作为完全图G 的顶点,每两点之间的直线距离是图G 中对应边的权值。
以下哪条边不是图G 的最小生成树中的边()。
A. ADB. BDC. CDD. DEE. EA6. Intel的首颗16 位处理器是()。
A. 8088B. 80386C. 80486D. 8086E. Pentium7. 处理器A 每秒处理的指令数是处理器B 的2 倍。
某一特定程序P 分别编译为处理器A和处理器B 的指令,编译结果处理器A 的指令数是处理器B 的4 倍。
已知程序P 在处理器A 上执行需要1 个小时,那么在输入相同的情况下,程序P 在处理器B 上执行需要()小时。
A. 4B. 2C. 1D. 1 / 2E. 1 / 48. 以下哪个不是计算机的输出设备()。
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 2011 普及组第二题NOIP 2011 普及组第二题:统计单词个数题目描述给定一段文本,统计其中每个单词出现的次数。
单词的定义为连续的、由字母(不区分大小写)组成的字符串,单词之间由一个或多个空格分隔。
输入输入文件只有一行,为一段用空格分隔的文本(行长度不超过1000个字符)。
输出输出文件有若干行,每行包含一个单词及其出现的次数,按单词在文本中出现的次数从多到少排序;若次数相同,则按字典序从小到大排序。
样例输入复制代码Bob hit a ball, the hit BALL flew far after it was hit.样例输出复制代码hit 3Ball 1a 1after 1ball 1bob 1far 1flew 1it 1the 1题目解析这道题目主要考查了字符串的处理和排序算法。
首先,我们需要将输入的文本按空格分割成单词,并统计每个单词的出现次数。
然后,我们需要根据单词出现的次数和字典序进行排序。
具体实现时,我们可以使用C++的string和map来存储单词和它们的出现次数。
然后,我们可以使用sort函数进行排序,自定义比较函数来满足题目要求的排序规则。
参考代码cpp复制代码#include <iostream>#include <string>#include <map>#include <algorithm>using namespace std;bool cmp(const pair<string, int>& a, const pair<string, int>& b) {if (a.second == b.second) {return a.first < b.first;}return a.second > b.second;}int main() {string text;getline(cin, text);map<string, int> wordCount;string word;istringstream iss(text);while (iss >> word) {transform(word.begin(), word.end(), word.begin(), ::tolower);wordCount[word]++;}vector<pair<string, int>> vec(wordCount.begin(), wordCount.end());sort(vec.begin(), vec.end(), cmp);for (auto& p : vec) {cout << p.first << " " << p.second << endl;}return 0;}这段代码首先读入一行文本,然后使用istringstream将文本按空格分割成单词,并统计每个单词的出现次数。
一、平方根【问题描述】给出一个正整数n(1<n<=2^31-1),求当x,y都为正整数,方程:=n-yx的解中,x的最小值是多少?【输入文件】输入文件sqrt.in只有一行,一个正整数n。
【输出文件】输出文件sqrt.out只有一行,即满足条件的最小的x的解。
【样例】:【数据规模】30%的数据满足1<n<=10000;100%的数据满足1<n<=2^31-1。
二、计算系数【问题描述】给定一个多项式(ax + by)k,请求出多项式展开后x n y m项的系数。
【输入格式】输入文件名为factor.in。
共一行,包含5 个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开。
【输出格式】输出文件名为factor.out。
输出共1行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007取模后的结果。
【样例】【数据范围】对于30%的数据,有0≤k≤10;对于50%的数据,有a = 1,b = 1;对于100%的数据,有0≤k≤1,000,0≤n, m≤k,且n + m = k,0≤a,b≤1,000,000。
三、宇宙蘑菇【问题描述】Smart在宇宙中发现了一种奇怪的蘑菇,它每天都会固定分裂一次,长度为x的蘑菇会分裂成两个长度分别为x-1和x+1的蘑菇,但是长度为0的蘑菇是不存在的,所以长度为1的蘑菇只能生长成长度为2的蘑菇。
现在小Y第一天有一个长度为2的蘑菇,他想知道第n天他有多少个蘑菇。
【输入】一个整数n。
【输出】一个整数ans,表示到了第n天Smart有的蘑菇个数。
【样例】【数据范围】1≤n≤2000。
一、平方根#include <fstream>#include <cmath>using namespace std;ifstream fin("sqrt.in");ofstream fout("sqrt.out");long long x,y,n,p;int main(){fin>>n;for (p=(int)sqrt(n);p>=1;p--)if (n%(p*p)==0){y=n/(p*p);break;}x=(p+1)*(p+1)*y;fout<<x<<endl;return 0;}二、计算系数#include <iostream>#include <cstdio>using namespace std;const int MaxN=1001;const int MOD=10007;int a,b,k,m,n,ans;int c[MaxN][MaxN];int com(int n,int k)//计算组合数C(k,n)的值{if (n==0) return 1;if (n==k) return 1;if ( c[n][k] ) return c[n][k];c[n][k]=( com(c[n-1][k-1])+com(c[n][k-1]) )%MOD; return c[n][k];}void work()//计算系数C(k,n)*a^n*b^m的值{int i;ans=com(n,k);a=a%MOD;b=b%MOD;for (i=1;i<=n;i++)ans=(ans*a)%MOD;for (i=1;i<=m;i++)ans=(ans*b)%MOD;printf("%d\n",ans);}int main(){freopen("factor.in","r",stdin);freopen("factor.out","w",stdout);scanf("%d%d%d%d%d",&a,&b,&k,&n,&m);work();return 0;}三、宇宙蘑菇#include <iostream>using namespace std;const int maxlen=1001;int n,len;int ans[maxlen];void mult(int x)//高精度乘法,数组每位存储5位数字{int i,k;k=0;//进位for (i=1;i<=len;i++){ans[i]= ans[i]*x+k;k=ans[i]/100000;ans[i]%=100000;}while (k!=0){len++;ans[len]=k%100000;k/=100000 ;}}void divi(int x)//高精度除法{int i;for (i=len;i>=1;i--){if (i!=1)ans[i-1]+=( ans[i]%x )*100000;ans[i]/=x;}while (len>1 && ans[len]==0) len-- ;}void out(){int i;printf("%d",ans[len]);for (i=len-1;i>=1;i--)printf(" %5.5d ",ans[i]);printf("\n");}int main(){int i,a,b;freopen("mushroom.in","r",stdin);freopen("mushroom.out","w",stdout);scanf("%d",&n);len=1;ans[1]=1;a=n-(n/2)+1;b=1;for (i=1;i<=(n/2);i++)//计算组合c(n,n/2)的值{mult(a);divi(b);a++ ;b++;}out();return 0;}。
第十七届全国青少年信息学奥林匹克联赛试题(普及组 Pascal 语言)●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共 20 题,每题 1.5 分,共计 30 分。
每题有且仅有一个正确选项。
)1、在二进制下,1101001 + () = 1110110。
A、1011B、1101C、1010D、11112、字符“0”的 ASCII 码为 48,则字符“9”的 ASCII 码为()。
A、39B、57C、120D、视具体的计算机而定3、一片容量为 8GB 的 SD 卡能存储大约()张大小为 2MB 的数码照片。
A、1600B、2000C、4000D、160004、摩尔定律(Moore's law)是由英特尔创始人之一戈登·摩尔(Gordon Moore)提出来的。
根据摩尔定律,在过去几十年以及在可预测的未来几年,单块集成电路的集成度大约每()个月翻一番。
A、1B、6C、18D、365、无向完全图是图中每对顶点之间都恰有一条边的简单图。
已知无向完全图 G 有 7 个顶点,则它共有()条边。
A、7B、21C、42D、496、寄存器是()的重要组成部分。
A、硬盘B、高速缓存C、内存D、中央处理器(CPU)7、如果根结点的深度记为 1,则一棵恰有 2011 个叶结点的二叉树的深度最少是()。
A、10B、11C、12D、138、体育课的铃声响了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。
每个同学按顺序来到操场时,都从排尾走向排头,找到第一个比自己高的同学,并站在他的后面。
这种站队的方法类似于()算法。
A、快速排序B、插入排序C、冒泡排序D、归并排序9、一个正整数在二进制下有 100 位,则它在十六进制下有()位。
A、7B、13C、25D、不能确定10、有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。
这种想法是()。
A、正确的,将文件放入回收站意味着彻底删除、无法恢复B、不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复C、不正确的,即使将回收站清空,文件只是被标记为删除,仍可能通过恢复软件找回D、不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除11、广度优先搜索时,需要用到的数据结构是()。
N O I P2011第十七届信息学奥林匹克竞赛初赛(普及组C++语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共20题,每题1.5分,共计30分。
每题有且仅有一个正确选项。
)1.在二进制下,1011001+()=1100110。
A.1011B.1101 C.1010D.11112.字符“0”的ASCII码为48,则字符“9”的ASCII码为()。
A.39B.57 C.120D.视具体的计算机而定3.一片容量为8G的SD卡能储存大约()张大小为2MB的数码照片。
A.1600B.2000 C.4000D.160004.摩尔定律(Moore'slaw)是由英特尔创始人之一戈登·摩尔(GordonMoor)提出来的。
根据摩尔定律,在过去几十年一级在可预测的未来纪念,单块集成电驴的集成度大约每()个月翻一番。
A.1B.6C.18D.365.无向完全图是图中每对顶点之间都恰好有一条边的简单图。
已知无向完全图G有7个顶点,则它共有()条边。
A.7B.21 C.42D.496.寄存器是()的重要组成部分。
A.硬盘B.高速缓存C.内存D.中央处理器(CPU)7.如果根结点的深度记为1,则一棵恰有2011个叶结点的二叉树的深度最少是()。
A.10B.11 C.12D.138.体育课的铃声响了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。
每个同学按顺序来到操场时,都从排尾走到排头,找到第一个比自己高的同学,并站在他的后面。
这种站队的方法类似于()算法。
A.快速排序B.插入排序C.冒泡排序D.归并排序9.一个正整数在二进制下有100位,则它在十六进制下有()位。
A.7B.13 C.25D.不能确定10.有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。
这种想法是()。
A.正确的,将文件放入回收站以为着彻底删除、无法恢复B.不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复C.不正确的,即使回收站清空,文件只是被标记为删除,仍可能通过回复软件找回D.不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除11.广度优先搜索时,需要用到的数据结构是()。
n o i p初赛普及组c试题及答案文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]第十届全国青少年信息学奥林匹克联赛初赛试题(普及组C语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一.选择一个正确答案代码(A/B/C/D/E),填入每题的括号内(每题1.5分,共30分)1.美籍匈牙利数学家冯·诺依曼对计算机科学发展所做出的贡献是()。
A.提出理想计算机的数学模型,成为计算机科学的理论基础。
B.是世界上第一个编写计算机程序的人。
C.提出存储程序工作原理,并设计出第一台具有存储程序功能的计算机EDVAC。
D.采用集成电路作为计算机的主要功能部件。
E.指出计算机性能将以每两年翻一番的速度向前发展。
2.下列哪个不是CPU(中央处理单元)()。
A.IntelItaniumB.DDRSDRAMC.AMDAthlon64D.AMDOpteronE.IBMPower53.下列网络上常用的名字缩写对应的中文解释错误的是()。
A.WWW(WorldWideWeb):万维网。
B.URL(UniformResourceLocator):统一资源定位器。
C.HTTP(HypertextTransferProtocol):超文本传输协议。
D.FTP(FileTransferProtocol):快速传输协议。
E.TCP(TransferControlProtocol):传输控制协议。
4.下面哪个部件对于个人桌面电脑的正常运行不是必需的()。
A.CPUB.图形卡(显卡)C.光驱D.主板E.内存5.下列哪个软件属于操作系统软件()。
A.MicrosoftWordB.金山词霸C.FoxmailD.WinRARE.RedHatLinux6.下列哪个不是计算机的存储设备()。
A.文件管理器B.内存C.高速缓存D.硬盘E.U盘7.下列说法中错误的是()。
A.CPU的基本功能就是执行指令。
1、搬书【问题描述】陈老师喜欢网购书籍,经常一次购它个百八十本,然后拿来倒卖牟取暴利。
前些天,高一的新同学来了,他便像往常一样兜售他的书,经过一番口舌,同学们决定买他的书,但是陈老师桌上的书有三堆,每一堆都有厚厚的一叠,他要想个办法用最轻松的方式把书拿下来给同学们。
但是你想逗一下陈老师,于是你设计一个最累的方式给他。
若告诉你这三堆分别有i,j,k本书,以及每堆从下到上书的质量,每次取书只能从任一堆的最上面取,那么请你设计一个方案,让他花最大的力气取下所有的书。
显然,每次取书陈老师的体力消耗都会加大,这里用体力系数代表,取下第一本书时,体力系数为1,第二本书时体力系数为2,依次类推,而每次体力消耗值则为体力系数与书的重量之积。
举个例子:三堆书及重量如下:显然最累的取书方案是:右左左中,即:3*1+9*2+2*3+10*4=67。
【输入】第一行3个整数,分别为三堆书的数量i,j,k第二行至第四行分别为每堆由下至上的书本重量【输出】输出最累方式的体力消耗总值。
【样例】【数据规模】对于40%的数据有0≤i,j,k<10;对于100%的数据有0≤i,j,k<100最后输出的体力消耗总值在long范围内。
#include <iostream>using namespace std;const int maxn=101;int i,j,k,n;int now,ans;int w[4][maxn];void init(){int t;freopen("book.in","r",stdin);freopen("book.out","w",stdout);scanf("%d %d %d",&i,&j,&k);n=i+j+k;for (t=1;t<=i;t++)scanf("%d",&w[1][t]);for (t=1;t<=j;t++)scanf("%d",&w[2][t]);for (t=1;t<=k;t++)scanf("%d",&w[3][t]);ans=0;}void dfs(int a,int b,int c){int x;if (a+b+c==0){if (now>ans) ans=now;return;}x=n-(a+b+c)+1;if (a>0){now+=w[1][a]*x;dfs(a-1,b,c);now-=w[1][a]*x;}if (b>0){now+=w[2][b]*x;dfs(a,b-1,c);now-=w[2][b]*x;}if (c>0){now+=w[3][c]*x;dfs(a,b,c-1);now-=w[3][c]*x;}}int main(){init();dfs(i,j,k);printf("%d\n",ans);return 0;}2、国王放置【问题描述】在n行m列的棋盘上放置k个国王,要求k个国王互相不攻击,有多少种不同的放置方法。
全国青少年信息学奥林匹克联赛初赛模拟试题姓名成绩一、单项选择题(共20 题,每题1.5 分,共计30 分。
每题有且仅有一个正确答案.)。
1. 在以下各项中,()是CPU 的组成部分。
A. CacheB. RAMC. 寄存器D. 主板2.SQL语言又称为( )A. 结构化定义语言B. 结构化控制语言C. 结构化查询语言D. 结构化操纵语言3.计算机运算速度的单位是()A、MTBFB、MIPSC、MHZD、MB4.下面是关于微处理器MPU的描述,不正确的是( ) 。
A.微处理器是微型计算机的核心部件B.微处理器是一块包含运算器和控制器的大规模集成电路芯片C.微处理器的性能决定了微型计算机的档次D.我们在购买微型计算机时,应该不断跟踪微处理器的更新5. 某机字长8位,采用补码形式(其中1位为符号位),则机器数所能表示的范围是()A.-127 ~127 B.-128 ~+128 C.-128 ~+127 D.-128 ~+128。
6.某计算机字长32位,其存储容量为4MB,若按字编址,它的寻址范围是()。
A、0~1MB、0~4MBC、0~4MD、0~1MB7.栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是( )A. ABCEDB. DBCEAC. CDABED. DCBEA。
8. 冗余数据是指可以由其他数据导出的数据,下述关于数据库系统的叙述中正确的是( )A. 数据库系统减少了数据冗余B. 数据库系统避免了一切冗余C. 数据库系统中数据的一致性是指数据类型的一致D. 数据库系统比文件系统能管理更多的数据9. 办公自动化(OA)是目前广泛开展的一项计算机应用,按分类,它应属于()A.实时控制B. 科学计算C. 数据处理D.计算机辅助设计10. 结构化程序设计主要强调的是( )A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性11. 用树形结构来表示实体之间联系的模型称为( )A. 关系模型B. 层次模型C. 网状模型D. 数据模型12. 面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是( )A. 模拟现实世界中不同事物之间的联系B. 强调模拟现实世界中的算法而不强调概念C. 使用现实世界的概念抽象地思考问题从而自然地解决问题D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考13.以下对计算机的产生有重要影响的人物是()。
noip初赛c语言试题及答案1. 选择题1.1 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. intD. _variable1.2 正确答案是 D。
变量名可以以字母或下划线开头,不能以数字开头,也不能是C语言的关键字。
1.3 以下哪个选项是C语言中合法的整型常量?A. 0x1AB. 0123C. 1.2E3D. 0b10101.4 正确答案是 A。
0x1A 是十六进制表示的整数,0123 是八进制表示的整数,1.2E3 是浮点数,0b1010 是二进制表示的整数,但不是合法的C语言常量。
1.5 以下哪个选项是C语言中合法的字符串常量?A. "Hello, World!"B. 'Hello, World!'C. "HelloD. "Hello\"1.6 正确答案是 A。
"Hello, World!" 是合法的字符串常量,'Hello, World!' 是字符常量,"Hello 是不完整的字符串常量,"Hello\" 是非法的字符串常量,因为反斜杠后面没有字符。
2. 填空题2.1 以下C语言代码中,变量a的值是多少?```cint a = 5;printf("%d", a);```2.2 答案是 5。
变量a被初始化为5,然后通过printf函数输出。
2.3 以下C语言代码中,变量b的值是多少?```cint b = 10;b = b + 5;printf("%d", b);```2.4 答案是 15。
变量b被初始化为10,然后增加5,最后输出15。
3. 编程题3.1 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```3.2 程序的输出是:Sum of even numbers from 1 to 100 is: 2550。
第十八届全国青少年信息学奥林匹克联赛初赛(普及组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.NOILinux6.如果一棵二叉树的中序遍历是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.矢量图(VectorImage)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。
NOIP2011普及组初赛试题C++版第十七届全国青少年信息学奥林匹克联赛初赛试题一、单项选择题(共20题,每题1.5分,共计30分。
每题有且仅有一个正确选项。
)1.在二进制下,1011001 + () = 1100110。
A.1011 B.1101 C.1010 D.11112.字符“0”的ASCII码为48,则字符“9”的ASCII码为()。
A.39 B.57 C.120 D.视具体的计算机而定3.一片容量为8G的SD卡能储存大约()张大小为2MB的数码照片。
A.1600 B.2000 C.4000 D. 160004.摩尔定律(Moore's law)是由英特尔创始人之一戈登·摩尔(Gordon Moor)提出来的。
根据摩尔定律,在过去几十年一级在可预测的未来纪念,单块集成电驴的集成度大约每()个月翻一番。
A.1 B. 6 C. 18 D. 365.无向完全图是图中每对顶点之间都恰好有一条边的简单图。
已知无向完全图G有7个顶点,则它共有()条边。
A.7 B.21 C.42 D.496.寄存器是()的重要组成部分。
A.硬盘 B.高速缓存 C.内存 D.中央处理器(CPU)7.如果根结点的深度记为1,则一棵恰有2011个叶结点的二叉树的深度最少是()。
A.10 B.11 C.12 D.138.体育课的铃声响了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。
每个同学按顺序来到操场时,都从排尾走到排头,找到第一个比自己高的同学,并站在他的后面。
这种站队的方法类似于()算法。
A.快速排序 B.插入排序 C.冒泡排序 D.归并排序9.一个正整数在二进制下有100位,则它在十六进制下有()位。
A.7 B.13 C.25 D.不能确定10.有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。
这种想法是()。
A.正确的,将文件放入回收站以为着彻底删除、无法恢复B.不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复C.不正确的,即使回收站清空,文件只是被标记为删除,仍可能通过回复软件找回D.不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除11.广度优先搜索时,需要用到的数据结构是()。
第十七届全国青少年信息学奥林匹克联赛初赛试题(普及组●● C 语言两小时完成)一、单项选择题(共20 题,每题 1.5 分,共计30 分。
每题有且仅有一个正确选项。
)1.在二进制下,1100100 + ()= 1110001A. 1011B. 1101C. 1010D. 1111 。
2.字符“0”的ASCII 码为48,则字符“9”的ASCII 码为()A. 39B. 57C. 120D. 视具体的计算机而定3.一片容量为8GB 的SD 卡能存储大约()张大小为2MB 的数码照片。
A. 1600B. 2000C. 4000D. 160004.摩尔定律(Moore's law)是由英特尔创始人之一戈登·摩尔(Gordon Moore)提出来的。
根据摩尔定律,在过去几十年以及在可预测的未来几年,单块集成电路的集成度大约每()个月翻一番。
A. 1B. 6C. 18D. 365.无向完全图是图中每对顶点之间都恰有一条边的简单图。
已知无向完全图G 有7 个顶点,则它共有()条边。
A. 7B. 21C. 42D. 496.寄存器是()的重要组成部分。
A. 硬盘B. 高速缓存C. 内存D. 中央处理器(CPU)7.如果根结点的深度记为1,则一棵恰有2011 个叶结点的二叉树的深度最少是()A. 10B. 11C. 12D. 138. 体育课的铃声响了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。
每个同学按顺序来到操场时,都从排尾走向排头,找到第一个比自己高的同学,并站在他的后面。
这种站队的方法类似于()算法。
A. 快速排序B. 插入排序C. 冒泡排序D. 归并排序位。
9.一个正整数在二进制下有100 位,则它在十六进制下有()位。
A. 7B. 13C. 25D. 不能确定10.有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。
这种想法是()。
A. 正确的,将文件放入回收站意味着彻底删除、无法恢复B. 不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复C. 不正确的,即使将回收站清空,文件只是被标记为删除,仍可能通过恢复软件找回D. 不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除11.广度优先搜索时,需要用到的数据结构是()。
A. 链表B. 队列C. 栈。
D. 散列表12.在使用高级语言编写程序时,一般提到的“空间复杂度”中的“空间”是指()A. 程序运行时理论上所占的内存空间B. 程序运行时理论上所占的数组空间C. 程序运行时理论上所占的硬盘空间D. 程序源文件理论上所占的硬盘空间13.在含有n 个元素的双向链表中查询是否存在关键字为k 的元素,最坏情况下运行的时间复杂度是()。
A. O(1)B. O(log n)C. O(n)D. O(n log n)14.生物特征识别,是利用人体本身的生物特征进行身份认证的一种技术。
目前,指纹识别、虹膜识别、人脸识别等技术已广泛应用于政府、银行、安全防卫等领域。
以下不属于生物特征识别技术及其应用的是()。
A. 指静脉验证B. 步态验证C. ATM 机密码验证D. 声音验证15.现有一段文言文,要通过二进制哈夫曼编码进行压缩。
简单起见,假设这段文言文只由4 个汉字“之”、“乎”、“者”、“也”组成,它们出现的次数分别为700、600、300、200。
那么,“也”字的编码长度是()。
A. 1B. 2C. 3D. 416.关于汇编语言,下列说法错误的是(A. 是一种与具体硬件相关的程序设计语言B. 在编写复杂程序时,相对于高级语言而言代码量较大,且不易调试C. 可以直接访问寄存器、内存单元、以及I/O 端口D. 随着高级语言的诞生,如今已完全被淘汰,不再使用17.()是一种选优搜索法,按选优条件向前搜索,以达到目标。
当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择。
A. 回溯法B. 枚举法C. 动态规划D. 贪心法18.1956 年()授予肖克利(William Shockley)、巴丁(John Bardeen)和布拉顿(Walter Brattain),以表彰他们对半导体的研究和晶体管效应的发现。
A. 诺贝尔物理学奖B. 约翰·冯·诺依曼奖C. 图灵奖D. 高德纳奖(DonaldE. Knuth Prize)19.对一个有向图而言,如果每个节点都存在到达其他任何节点的路径,那么就称它是强连通的。
例如,右图就是一个强连通图。
事实上,在删掉边()后,它依然是强连通的。
A. aB. bC. cD. d20.从ENIAC 到当前最先进的计算机,冯·诺依曼体系结构始终占有重要的地位。
冯·诺依曼体系结构的核心内容是()。
A. 采用开关电路B. 采用半导体器件C. 采用存储程序和程序控制原理D. 采用键盘输入二、问题求解(共2 题,每题5 分,共计10 分)1.每份考卷都有一个8 位二进制序列号。
当且仅当一个序列号含有偶数个1 时,它才是有效的。
例如,00000000、01010011 都是有效的序列号,而11111110 不是。
那么,有效的序列号共有________个。
2.定义字符串的基本操作为:删除一个字符、插入一个字符和将一个字符修改成另一个字符这三种操作。
将字符串 A 变成字符串 B 的最少操作步数,称为字符串 A 到字符串 B 的编辑距离。
字符串"ABCDEFG"到字符串"BADECG"的编辑距离为________。
三、阅读程序写结果(共4 题,每题8 分,共计32 分)1.#include<stdio.h>int main(){int i, n, m, ans;scanf("%d%d", &n, &m);i = n;ans = 0;while (i <= m) {ans += i;i++;}printf("%d\n", ans);return 0;}输入:10 20输出:_________2.#include <stdio.h>#include <string.h>#define SIZE 20int main() {char map[] = "22233344455566677778889999";char tel[SIZE];int i;scanf("%s", tel);for (i = 0; i < strlen(tel); i++)if ((tel[i] >= '0') && (tel[i] <= '9')) printf("%c", tel[i]);else if ((tel[i] >= 'A') && (tel[i] <= 'Z'))printf("%c", map[tel[i] - 'A']);return 0;}输入:CCF-NOIP-2011输出:_________3.#include <stdio.h>#include <string.h>#define SIZE 100int main() {int n, i, sum, x, a[SIZE];scanf("%d", &n);memset(a, 0, sizeof(a));for (i = 1; i <= n; i++) {scanf("%d", &x);a[x]++;}i = 0;sum = 0;while (sum < (n / 2 + 1)) { i++;sum += a[i];}printf("%d\n", i);return 0;}输入:114 5 6 6 4 3 3 2 3 2 1输出:_________4.#include <stdio.h>int solve(int n, int m) {int i, sum;if (m == 1) return 1;sum = 0;for (i = 1; i < n; i++)sum += solve(i, m - 1);return sum;}int main(){int n, m;scanf("%d %d", &n, &m);printf("%d\n", solve(n, m));return 0;}输入:7 4输出:_________四、完善程序(前11 空,每空 2 分,后 2 空,每空 3 分,共计28 分)1.(子矩阵)输入一个n1*m1 的矩阵a,和n2*m2 的矩阵b,问a 中是否存在子矩阵和 b 相等。
若存在,输出所有子矩阵左上角的坐标;若不存在输出“There is no answer”。
#include <stdio.h>#define SIZE 50int n1, m1, n2, m2, a[SIZE][SIZE], b[SIZE][SIZE];int main() {int i, j, k1, k2, good, haveAns;scanf("%d %d", &n1, &m1);for (i = 1; i <= n1; i++)for (j = 1; j <= m1; j++)scanf("%d", &a[i][j]);scanf("%d %d", &n2, &m2);for (i = 1; i <= n2; i++)for (j = 1; j <= m2; j++)haveAns = 0;for (i = 1; i <= n1 - n2 + 1; i++)) { ;for (k1 = 1; k1 <= n2; k1++)if (a[i + k1 - 1][j + k2 - 1] != b[k1][k2])good = 0;}if (good == 1) {printf("%d %d\n", i, j);}}if (haveAns == 0)printf("There is no answer\n"); return 0;}2.(大整数开方)输入一个正整数n(1≤n<10100),试用二分法计算它的平方根的整数部分。