宁波市第 届中小学生计算机程序设计竞赛复赛试题
宁波市第28届中小学生计算机程序设计竞赛复赛试题(小学组)
宁波市第28届中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1.哈夫曼编码(coding)题目描述哈夫曼编码是一种编码方式,是可变字长编码的一种,由Huffman 于1952 年提出。
该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫Huffman 编码。
简单地来说,就是出现概率高的字符使用较短的编码,反之出现概率低的则使用较长的编码,这便使编码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目的。
现在请你模拟这样的原则对给定的一个字符串进行字母统计。
输入输入文件coding.in,只有一行,是一个字符串,由小写英文字母组成,长度不超过255 个字符。
输出输出文件coding.out,有若干行,每行有两部分组成:一个字母和该字母出现的频率,中间用一个空格分隔,并按频率高低排列,频率相同时则按字母的ASC 码的先后顺序排列。
样例输入soon样例输出o 2n 1s 12. 立方和(cubsum)题目描述现给出一个三位数,先对这个三位数的各位数字的立方求和,然后再对求出的和中的各位数字的立方求和,如此一直继续下去,判断最后能否得到一个不再变化的固定值。
如能得到一个固定值,就求出这个固定值;如果不能,则输出提示信息“error” 。
另外请注意,在求解过程中,若某一次求和过程中得到的值超过三位数,则取该数的低三位继续往下运算……例如,对于三位数111,则第一次计算应是1×1×1+1×1×1+1×1×1=3,第二次计算应是0×0×0+0×0×0+3×3×3=27,第三次计算应是0×0×0+2×2×2+7×7×7=351,第四次计算应是3×3×3+5×5×5+1×1×1=153,第五次计算应是1×1×1+5×5×5+3×3×3=153,与第四次计算的结果相同,这时可不再计算,输出固定值153。
宁波市计算机程序设计竞赛2010-2016年复赛后三题
2010-2016后三题31届201630届201529届2014马农题目描述兄弟两回到草原,将可以养马的区域,分为N*N的单位面积的正方形,并实地进行考察,归纳出了每个单位面积可以养马所获得的收益。
接下来就要开始规划他们各自的马场了。
首先,两人的马场都必须是矩形区域。
同时,为了方便两人互相照应,也为了防止马匹互相走散,规定两个马场的矩形区域相邻,且只有一个交点。
最后,互不认输的两人希望两个马场的收益相当,这样才不会影响他们兄弟的感情。
现在,兄弟两找到你这位设计师,希望你给他们设计马场,问共有多少种设计方案输入格式:第一行一个整数N,表示整个草原的大小为N*N。
接下来N行,每行N个整数A(i,j),表示第i行第j列的单位草地的收成。
(注意:收益可能是负数,养马也不是包赚的,马匹也可能出现生病死亡等意外。
)输出格式:输出符合两人要求的草原分配方案数。
输入样例#1:31 2 34 5 67 8 9输出样例#1:2N<=50,-1000<A(I,J)<100028届2013分数统计【题目描述】在统计完朋友情况之后,小明又对大家的毕业学校产生兴趣,但是他觉得单纯的统计人数是一件非常无聊的事情,于是他设计了一个算法,同一所学校毕业的学生,第1个将获得1分,第2个获得2分,第3个获得4分…,第i个将获得2 i-1 分,总分就是这所小学的得分,小明想知道得分最高的学校有多少分。
【输入】输入文件 score .in的第一行有两个整数n和m,n表示总人数,m表示已知的同校关系数量。
接下来n行,每行有2个以空格隔开的整数a和b,表示a和b是来自同一所学校,a和b 均为1到n之间的整数。
不会给出重复的信息。
【输出】输出文件 score .out 只有一行,为所有学校中的最高得分。
最后得分可能会很大,你只需要输出后 100 位即可,不足 100 位的请直接输出。
【样例输入】5 31 23 41 3【样例输出】15【样例说明】1、2、3、4来自同一所学校,该所学校所得的分数为1+2+4+8=15【数据规模】60%的数据,1 <= n <= 1080%的数据,1 <= n <= 70100%的数据,1 <= n <= 10000,1 <= m <= 100000跳棋【题目描述】小明迷恋上了一个新的跳棋游戏,游戏规则如下:棋盘是一排从0开始,顺序编号的格子,游戏开始时你位于0号格子,你每次只能往编号大的格子跳,而且你每次至少需要跳过L个格子,至多只能跳过R个格子。
宁波市江北区信息学复赛题目(1)
宁波市江北区中小学生计算机程序设计竞赛复赛试题题目一览注意:一、关于竞赛中编程语言使用的规定参照中国计算机学会公布的《关于NOI系列赛编程语言使用限制的规定》。
二、评测环境为windows。
1.整点报时(time.pas/c/cpp)【题目描述】现在智能手机中都有闹钟程序,经过设置,它可以实现整点报时,发出若干个”di”的声音,请用程序来模拟这一现象。
【输入】一个整数n【输出】只有一行,用n个”di”来表示,之间有一个空格。
【样例输入】3【样例输出】di di di【数据规模】对于100%的数据,1<=n<=24。
2.求和问题(sum.pas/c/cpp)【题目描述】给定1到n共n个数,你需要找出连续的几个数使得其和为m,显然这样的方案有很多,请将每种方案都输出,输出方法请参考样例。
【输入】第一行两个整数n和m。
【输出】输出有多行,每行表示一种合法的方案,采用闭区间的方式给出方案([a,b]表示a到b 这几个连续的整数),当有多种方案时按照a由小到大输出。
【样例输入】20 15【样例输出】[1,5][4,6][7,8][15,15]【样例说明】1+2+3+4+5 = 154+5+6 = 157+8 = 1515 = 15【数据规模】对于30%的数据,n,m<=100。
对于60%的数据,n,m<=1000000。
对于100%的数据,n,m<=10^12。
3.吃水果问题(eat.pas/c/cpp)【题目描述】老李非常关注小李的饮食问题,给他制定了一长串吃水果清单。
但是小李非常淘气,如果相邻两天吃的水果一样的话,他将会变得非常暴躁,精通编程的你能否帮助老李同志,判断是否存可以将老李的方案修改成让小李不暴躁。
【输入】第一行,一个整数case,表示测试组数对于每组测试数据:第一行,一个整数n,表示吃水果天数。
第二行,共n个空格隔开的数字a i,表示每天吃的水果编号。
【输出】输出共case行,对于每一组测试数据如果存在方案输出Y否则输出N。
宁波市第23届中小学生计算机程序设计竞赛复赛试题(小学组)
宁波市第23届中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1.密码(mima)题目描述【问题描述】在浩浩茫茫的苍穹深处,住着玉帝和他的神仆们,他们闲谈着下界的凡人俗事,对人世间表现的聪明智慧,大加赞赏。
今天他们正在观赏大地风光人情之际,忽然从遥远的东海之滨传来一阵欢笑声,玉帝纵目望去,只见镇海中学内聚集了全宁波的中小学精英学生,他们要干什么呢?原来他们都在做一种破译密码的游戏,人们发现:一根密码棒上的数字加上另一根密码棒上的数字,就是开启天庭司粮库密码锁的的密码。
如:1233+67122=68355,则68355就是一组有效的密码。
“太简单了!”人们高呼起来,继续探索着。
“这不过是早期的密码系统而已。
”玉帝轻蔑地环顾神仆们说道。
可是,当人们演算了139513+3344=142857 后,玉帝的神色愈来愈不对了,要知道,142857是一个特别的数字,这可是天庭的机密,是谁将这些机密泄露给世人的呢?于是,玉帝搬出一张牌,对司粮库主管神农氏说:“将这张牌打出去,看看他们还逞能不?”这是天庭中一张王牌,但平凡得很,只不过将密码的位数增大到不超过200位而已,可是难就难在你看到文件:mima.in中的两个数后,必须在1秒钟内将密码输出到文件:mima.out中,否则这组密码就失效了。
玉帝还算是仁慈的,没有将更难的牌打出来,他想把天庭的粮食恩赐人间,但他绝不会给那些不动脑子的人。
现在请你解开天庭司粮库密码锁的密码,帮助人们获得天庭恩赐的粮食。
宁波小学生程序复赛复习指导
主要题型:
模拟题
整数模拟 排序 字符串模拟
高精度运算 数学运算
深度优先搜索dfs
搜索题
广度优先搜索bfs
动态规则题
01背包 完全背包
宁波市近三年历届试卷分析
2014年第一题 小李数星星 2014年第二题 小李打台球 2014年第三题 小李发奖金 2013年第一题 哈夫曼编码 2013年第二题 立方和 2013年第三题 智力大奖赛 2013年第四题 求素数
模拟题
2012年第一题 傻瓜电梯 2012年第二题 数字替换 2012年第三题 取珠子 2012年第四题猜数字
搜索题
2014年第四题 小李打怪兽
深度优先搜索dfs 广度优先搜索bfs 01背包 完全背包
动态规则题
整数模拟
2014年第一题 小李数星星(简单模拟) 2014年第二题 小李打台球(一维数组模拟) 2013年第二题 立方和 (一维数组模拟)
数学运算模拟
2013年第三题 智力大奖赛(简单数学题) 2012年第四题猜数字(数学组合题)
高精度运算
23届宁波市小学生计算机程序设计竞赛第一题
搜索题
2008年第四题 导游 深度优先搜索dfs 2007Leabharlann 第二题 等式 2007年第三题 旅行
广度优先搜索bfs
2011年第四题 利比亚行动
动态规则题
代码如下:
这题属于算法多解,由于范围的限定也可以用计数排序
var n,sum:int64;i:longint; a:array[1..30000] of longint; b:array[0..1030000] of longint; begin read(n); for i:=1 to n do begin read(a[i]); inc(b[a[i]]); end; for i:=0 to 1030000 do if b[i]>1 then begin sum:=sum+b[i]-1; b[i+1]:=b[i+1]+b[i]-1; end; writeln(sum); end.
宁波市第32届中小学生程序设计竞赛(小学组)
fpc boom.pas
gcc –o boom boom.c -lm
g++ -o boom boom.cpp -lm
fpc dream.pas
gcc –o dream dream.c -lm
g++ -o dream dream.cpp -lm
四. 运行内存限制
内存上限
128M
128M
256M
128M
【输入】 第一行输入两个整数 N 和 K,接下来 N 行分别输入这 N 个数字
【输出】 一个整数表示原数字串中不包含的最短子序列长度
【样例输入】 14 5 1 5 3 2 5 1 3 4 4 2 5 1 2 3 【样例输出】 3 【样例解释】
第6页 共7页
宁波市第 32 届中小学生程序设计竞赛复赛试题小学组
一个整数,最多能炸掉的僵尸数量。 【样例输入】
13 13 4 2 ############# ###..GG#GGG.# ###.#G#G#G#G# #.......#..G# #G#.###.#G#G# #GG.GGG.#.GG# #G#.#G#.#.#.# ##G...G.....# #G#.#G###.#G# #...G#GGG.GG# #G#.#G#G#.#G# #GG.GGG#G.GG# #############
第4页 共7页
宁波市第 32 届中小学生程序设计竞赛复赛试题小学组
当然炸弹要靠勇敢的小星星去放,他只能在地图中朝上下左右四个方向行进(不能斜对 角移动),他不能穿墙,也不能穿越僵尸,要保证他的安全,如下图,告诉你小星星起始位 置是第 2 行第 2 列,那么他的最佳放置炸弹位置应该是第 3 行第 2 列,最多炸到 2 个僵尸。
鄞州区小学生计算机程序设计竞赛试题
鄞州区小学生计算机程序设计竞赛(2014)(两小时完成)◆◆请将正确答案在答题卷上填写,在本试题卷上答题无效◆◆一、选择题(2*7)1、下列表达式的值为FALSE的是()。
A. Not(‘90’<’100’)B.Round((Abs(-10.5)))<10C. Odd(True(98.49))D.Ord(Chr(Pred(8)))>=72、判断变量ch的值是否为大写字母,下列表达式正确的是()。
A. ch>=’A’ and ch<=’Z’B.’A’<=ch<=’Z’C.(ch>=A)and(ch<=Z)D. not(ch<’A’)or(ch>’Z’)3、表达式Chr(Ord(‘a’)+5))的值是()。
A.’f’B.‘E’C.102D.1014、与十进制数2014等值的二进制数是()。
A.11111011110B.11110011110C.10111111110D.111111110105、[x]补码=10011101,其原码为()。
A.11001111B.11100100C.11100011D.011001016、十进算术表达式:5*512+7*64+4*8+7的运算结果,用二进制表示为()。
A. 101111100111B.111111100101C. 111110100101D.1111110110117、(2014)16 + (924)10的结果是()。
A. (9036)10B. (23B0)16C. (9130)10D. (100011000110)2二、计算下列函数(1*15)1、Sqr(7)的值为()。
2、Round(19.6)的值为( )。
3、Round(14.4)的值为( )。
4、int(-5.7)的值为( )。
5、Abs(-4.1)的值为( )。
6、-37 mod 6的值为( )。
7、’A’<’a’的值为()。
宁波市江北区信息学复赛题目(1)
宁波市江北区中小学生计算机程序设计竞赛复赛试题题目一览注意:一、关于竞赛中编程语言使用的规定参照中国计算机学会公布的《关于NOI系列赛编程语言使用限制的规定》。
二、评测环境为windows。
1.整点报时(time.pas/c/cpp)【题目描述】现在智能手机中都有闹钟程序,经过设置,它可以实现整点报时,发出若干个”di”的声音,请用程序来模拟这一现象。
【输入】一个整数n【输出】只有一行,用n个”di”来表示,之间有一个空格。
【样例输入】3【样例输出】di di di【数据规模】对于100%的数据,1<=n<=24。
2.求和问题(sum.pas/c/cpp)【题目描述】给定1到n共n个数,你需要找出连续的几个数使得其和为m,显然这样的方案有很多,请将每种方案都输出,输出方法请参考样例。
【输入】第一行两个整数n和m。
【输出】输出有多行,每行表示一种合法的方案,采用闭区间的方式给出方案([a,b]表示a到b 这几个连续的整数),当有多种方案时按照a由小到大输出。
【样例输入】20 15【样例输出】[1,5][4,6][7,8][15,15]【样例说明】1+2+3+4+5 = 154+5+6 = 157+8 = 1515 = 15【数据规模】对于30%的数据,n,m<=100。
对于60%的数据,n,m<=1000000。
对于100%的数据,n,m<=10^12。
3.吃水果问题(eat.pas/c/cpp)【题目描述】老李非常关注小李的饮食问题,给他制定了一长串吃水果清单。
但是小李非常淘气,如果相邻两天吃的水果一样的话,他将会变得非常暴躁,精通编程的你能否帮助老李同志,判断是否存可以将老李的方案修改成让小李不暴躁。
【输入】第一行,一个整数case,表示测试组数对于每组测试数据:第一行,一个整数n,表示吃水果天数。
第二行,共n个空格隔开的数字a i,表示每天吃的水果编号。
【输出】输出共case行,对于每一组测试数据如果存在方案输出Y否则输出N。
2013年宁波市鄞州区信息学竞赛复赛试题(小学组)
鄞州区中小学生计算机程序设计竞赛(2013)复赛试题(小学组)比赛时间:2013年10月15日下午12:30—15:00题目一览注意:一、关于竞赛中编程语言使用的规定参照中国计算机学会公布的《关于NOI系列赛编程语言使用限制的规定》。
二、评测环境为windows。
1.磁铁(magnets)迈克是一个疯狂的游戏迷。
有一天,迈克想玩多米诺骨牌,但他家里没有,于是他采用矩形磁体代替。
每个矩形磁铁有两极:正极(”+”)和负极(“-”)。
如果把两个磁铁水平方向靠近,就会出现“同极相斥、异极相吸”的现象。
(异极相吸)(同极相斥)一开始,迈克在桌子上水平地放上一块磁铁。
接下来,迈克会把磁铁一块接一块的放在原有磁铁的右端。
根据“同极相斥、异极相吸”的原理,迈克每放上一块新磁铁,就有可能出现相吸或者相斥的情况。
如果新磁铁和原磁铁相吸,它就加入到这个组(一个或多个磁铁连接在一起形成一组),如果新磁铁和原磁铁相斥,它就成为一个新组。
如下图,1、2、3块磁铁组成第一组,第4块磁铁单独成为一组,第5、6块磁铁组成一组,所以下图一共有三组:为了描述方便,我们用1表示磁铁的正极(+),用0表示磁铁的负极(-),所以每个磁铁可以用“10”或者“01”来表示。
现在,迈克把他摆放磁铁的顺序告诉你,请帮忙统计出这些磁铁被分为几组?输入(magnets.in)第一行:一个整数 n (1≤ n ≤100000)磁铁数量。
接下来n行:第i行(1≤ i ≤ n)中包含一个01串;“ 01 “表示迈克把第i个磁铁按照“-+”的位置摆放,“ 10 “则表示迈克把磁铁按照“+-“的位置水平摆放。
输出(magnets.out)一行:输出磁铁组的数量。
样例1:输入6101010011010输出3样例2:输入401011010输出2注意第一个测试样例对应于图中。
测试样例有三组,分别包括三个,一个,两个磁铁。
第二个测试样例有两组,每组由两个磁铁组成。
数据范围10%的数据:n<=1050%的数据:n<=10000100%的数据:n<=1000002.差异和(differencerow)小数学迷戴维最近在研究一个问题:对于一个由n个整数组成的序列:a1, a2, ..., a n,把相邻的两个数之间的差:a x–a x+1 (1≤x<n)叫做差异值,把整个数列的所有差异值加在一起:(a1- a2) + (a2- a3) + ... + ( a n -1- a n),叫做差异和,于是不同的排序方法可以得到不同的差异和。
第届宁波市信息学复赛小学组复赛题目
年第届宁波市信息学复赛小学组复赛题目————————————————————————————————作者:————————————————————————————————日期:宁波市第30届中小学生计算机程序设计竞赛复赛试题(小学组)比赛时间:2015年3月28日下午1:30—4:00题目一览试题名称幸运数字英雄卡最强阵容最强素数英文代号lucky card battle prime程序名lucky.cpp/pas/c card.cpp/pas/c battle.cpp/pas/c prime.cpp/pas/c 输入文件名lucky.in card.in battle.in prime.in输出文件名lucky.out card.out battle.out prime.out内存限制128MB 128MB 128MB 128MB时限1S 1S 1S 1S注意:一、关于竞赛中编程语言使用的规定参照中国计算机学会公布的《关于NOI系列赛编程语言使用限制的规定》。
二、评测环境为windows。
1.幸运数字(lucky.cpp/pas/c)【题目描述】小李非常喜欢数字4和7,看到一个数字他就想快速计算出因子里面分别有几个4和7,但是智商捉急的他总是要算很久,喜欢编程的你能够帮助他吗?【输入】第一行一个整数n,表示给定的数字。
【输出】两个用空格隔开的数字,分别表示给定数字的因子中4和7的个数。
【样例输入】112【样例输出】2 1【样例说明】112=4*4*7【数据规模】50%的数据,3<=n<=230100%的数据,3<=n<=2602.英雄卡(card.cpp/pas/c)【题目描述】小李非常迷恋收集各种干脆面里面的英雄卡,为此他曾经连续一个月都只吃干脆面这一种零食,但是有些稀有英雄卡真的是太难收集到了。
后来某商场搞了一次英雄卡兑换活动,只要你有三张编号连续的英雄卡,你就可以换任意编号的英雄卡。
鄞州区小学生计算机程序设计竞赛
鄞州区小学生计算机程序设计竞赛(两小时完成)◆◆请将正确答案在答题卷上填写,在本试题卷上答题无效◆◆一、选择题(1.5*15)1)下列标识符哪个是合法的( )。
A、abcB、x#C、beginD、1a2)下列函数值是整型的是()A.chr(23)B.ord(x)C.pred(x)D.succ(x)3)下列函数值不可能是布尔类型的是()A.odd(g)B.ord(g)C.pred(g)D.succ(g)4)I nteger类型的数据范围是()A.-32767~32767B.0~32767C.-32768~32767D.-32767~327685)设x是实型变量,下列表达式能将x四舍五入后保留三位小数的是()A.round(x)B.round(x)/1000C.round(x*1000)/1000D.round(x*100)/1006)下列表达式的值为FALSE的是()A.Odd(True(7.49))B.Round((Abs(-9.5)))<10C.Not(‘9’<’100’)D.Ord(Chr(Pred(8)))>=77)判断变量ch的值是否为小写字母,下列表达式正确的是()A.not(ch<’a’)or(ch>’z’)B.’a’<=ch<=’z’C.(ch>=a)and(ch<=z)D.ch>=’a’ and ch<=’z’8)表达式Chr(Ord(‘A’)+4))的值是()A.’D’B.‘E’C.69D.1019)设a[1]=1,a[2]=2,a[3]=3,a[4]=4,a[5]=5,a[6]=6,且i=1,j=2,k=3,m=4下列变量的值等于3的是()A.a[i*j]B.a[a[k-i]+3]C.a[m div j]D.a[a[j+k-2]]10)十进制数2011等值于八进制数()A.4033B.3755C.4003 D 3733.11)下列无符号数中,最小的数是()A.(11011001)2B.(31)10C.(37)8D.(2A)1612)十进制算是表达式:5*512+7*64+4*8+5的运算结果,用二进制表示为()A.101101100101B.101111100101C.111111100101D.11101111011113)十进制数13/128可用二进制数码序列表示为()A.1101/1000000B.1101/10000000C.0.001101D. 1011/1000000014)已知二进制数x =(0.1011010)2 ,则[x/4]=( )A.0.01011101B.111101100C.0.00101101D.0.101101015)由4个a,3个b和1个c构成的所有字符串中,包含字串”abc”的共有( )个A.30B.60C.120D.48二、填空题1、基础知识填空(1*10)1)计算机语言分为___________语言、______________语言和____________语言。
宁波市第 届中小学生计算机程序设计竞赛复赛试题
输入文件名 average.in
suanpan.in
findbrush.in
输出文件名 average.out
suanpan.out
findbrush.out
内存限制
128MB
128MB
128MB
时限
Байду номын сангаас1S
1S
1S
分值
100
100
100
结 果 比 较 方 全文比较(过滤行末空格及文件尾的空行)
式
射击 shooting shooting.pas/c/cpp shooting.in shooting.out 128MB 1S 100
第1页
宁波市第 31 届中小学生计算机程序设计竞赛复赛试题(小学组)
第一题、平均值
(average.pas/c/cpp)
【问题描述】 豆豆从小对数字很敏感,小学里就显露出超常的能力,老师为了防止他太过骄傲,给了
他一个可怕的难题:求一串给定整数某一段的平均值,保留 3 位小数。每个整数都是小于 2^31 的。老师做梦也没想到豆豆全都回答出来了,原来豆豆有一个擅长编程的朋友你。 【输入】
宁波市第 31 届中小学生计算机程序设计竞赛复赛试题(小学组)
宁波市第 31 届中小学生计算机程序设计竞赛 复赛试题(小学组)
比赛时间:2016 年 3 月 27 日下午 13:30-16:00
一、题目一览
试题名称 平均值
拨算盘
找画笔
英文代号
average
suanpan
findbrush
程序名
average.pas/c/cpp suanpan.pas/c/cpp findbrush.pas/c/cpp
小学生程序设计复赛练习题
小学生程序设计复赛练习题小学生程序设计比赛练习题 1. 幸运数字(/c/cpp) 【问题描述】今年圣诞节,小明收到了很多礼物,每个礼物上都有一个数字,表示对小明的祝福。
可是小明有自己的想法,对小明来说,4或者7的倍数是幸运数字。
现在,小明想要知道所有数字中幸运数字之和是多少?请你帮帮小明!Sheryl gōngchéng zài quánguó de Brada ruǎnjiàn gōngsī. Tā de gōngzuò shì kāifā Windows cāozuò xìtǒng. Zài Brada bǎoshǒu de ràng rén nányǐ zhìxìn. Tāmen shènzhì cónglái méiyǒu shǐyòng de túxíng xiǎnshìqì! Yīncǐ,Sheryl de cāozuò xìtǒng yùnxíng zài wénběn móshì hé zài yóu zìfú zǔchéng de xìtǒng chuāngkǒu. Sheryl juédìng, měi gè chuāngkǒu dōu yǒu yīgè ID, zhè shì yīgè zīběn yīngwén zìmǔ (‘yī’dào’Z’). Yóuyúměi gè chuāngkǒu yǒu yīgè wéi yī de ID, bùnéng yǒu chāoguò 26 gè chuāngkǒu zài tóngyī shíjiān. Rú nǐ suǒ zhī, suǒyǒu de Windows shì chángfāngxíng. Zài zhè zhǒng chǒulòu de Windows xìtǒng de píngmù, chuāngkǒu de kuàngjià yǐ jīběn xíngchéng yóu tā de ID xìn. Tú 1 xiǎnshì, zhǐyǒu píngmù shàng de yīgè chuāngkǒu, gāi chuāngkǒu de ID shì’A’. Windows kěnéng huì chóngdié. Tú- 2 xiǎnshì chuāngkǒu de qíngkuàng B duì chuāngkǒu a. Hé tú- 3 de dǐng bù shì tígōng le gèng fùzá de chóngdié. Dāngrán, rúguǒ yīgè chuāngkǒu de mǒu xiē bùfèn shì yóu qítā chuāngkǒu zhē zhù, nǐ bùnéng zài píngmù shàng kàn dào de bùfèn. 字典- 查看字典详细内容【输入】第一行一个整数n,表示小明收到了n份圣诞礼物。
宁波市第27届中小学生计算机程序设计竞赛复赛试题(小学组)
宁波市第27届中小学生计算机程序设计竞赛复赛试题(小学组)关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1.傻瓜电梯(dianti)题目描述所谓傻瓜电梯指的是在响应用户请求时缺乏相应的“智商”,在上升或下降的过程中不能把中途的乘客捎带入电梯,而只会严格按照用户发出请求的先后顺序依次完成任务。
比如,原来电梯在1楼,首先6楼有一位乘客发出请求,要求由6楼乘坐到10 楼去,此时电梯马上会上去,但在电梯上升到3楼时,另外一位乘客请求由5楼乘坐到8楼去,傻瓜电梯却不会在上升途中把5楼的乘客捎带上去,而只会先把6楼的乘客送到10 楼,然后再下来把5搂的乘客送到8楼。
傻瓜电梯由i 楼上升到i+1 楼(或下降到i-1 楼)的时间都是3秒,每到达一个楼层,不管进出乘客有多少,也不管乘客只有进、只有出或者进出电梯都有,所耽搁的时间都是6秒。
现在味味要根据傻瓜电梯接受到的n个用户请求,编程计算傻瓜电梯把所有乘客送到目标楼层时总共所需要的时间。
如果某批乘客到达目标楼层后,电梯没有马上要响应的请求,则电梯在前一批乘客的目的地等待,这个等待时间也需计入总花费时间。
直到下一批乘客发出新请求,电梯才会从当前位置出发,前往下一批乘客的出发楼层。
输入输入文件dianti.in 第一行包含两个整数x(1<=x<=100)和n(1<=n<=100),分别表示傻瓜电梯开始所在的楼层和总共接收到的请求数目。
下面有n行,每行包含3个整数,依次表示该请求发出的时间、乘客目前所在的楼层和将要去的目标楼层。
宁波市历届中小学生计算机程序设计竞赛(2005-2014)
宁波市第20届小学生计算机程序设计初赛试题(说明:考试时间90分钟,满分120分)一、选择题(每小题2分,共40分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项写在答题卷相应位置上,答在试卷上不得分。
1、一个完整的计算机系统应包括____。
A主机,键盘和显示器B计算机及其外部设备C系统硬件和系统软件D硬件系统和软件系统2、十进制数2005转换为二进制,结果是()。
A、11111010101B、11000101101C、11111001011D、101110101013、下列电子邮件地址,正确的是()。
A john@B cai@jcc.pc.tool@.jpC162.105.111.22D 4、彩色显示器所显示的五彩斑斓的色彩,是由红色,蓝色和()色混合而成的A、紫色B、白色C、黑色D、绿色E、橙色5、目前世界上计算机的工作原理是________,它来源于________提出的________原理。
A、存储程序和程序控制、冯。
诺依曼、程序设计B、存储程序控制、冯。
诺依曼、存储程序和程序控制C、存储程序、Taring、程序控制D、存储程序控制、Turing、程序设计6、关于计算机病毒,下列说法正确的是()A、病毒是由软盘表面粘有灰尘造成的B、病毒常隐藏在数据文件或系统中,具有隐蔽性和潜伏性C、大部分病毒不具有传染性和破坏性D、病毒会对计算机造成轻或重的损害,但制造病毒的人并不构成犯罪7、计算机网络的目标是实现()。
A、数据处理B、文献检索C、资源共享和信息传输D、信息传输8、目前比较流行的网络编程语言是()A、JavaB、FoxPrlC、PascalD、C9、根据域名代码规定,域名为表示的网站类别应是()。
A、教育机构B、军事部门C、商业组织D、非营利组织10、计算机的硬件系统包括()。
A、运算器、控制器、存储器、输入设备、输出设备B、控制器、运算器、输入和输出设备C、中央处理器、输入和输出设备D、主机和键盘、显示器11、算法是指()A、为解决问题而编制的计算机程序B、为解决问题而采取的方法与步骤C、为解决问题需要而采用的计算机编程语言D、为解决问题而采用的计算方法12、Internet上访问Web信息时用的工具是浏览器。
宁波市第22届中小学生计算机程序设计竞赛复赛试题(小学组)
宁波市第22届中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1.最小数(min)题目描述给定一个正整数n,请去掉其中的m个数字,使其剩下的数字按原先从左到右的相对次序组成一个新数,但该新数的值必须尽可能的小。
【输入】输入文件min.in 中只有一行,共2个整数,分别是n和m的值,中间用一个空格分隔。
【输出】输出文件min.out中只有一行,该行只有一个整数,它是从n中去掉m个数字后所能得到的最小新数(注:如果新数的最高位是零,输出时请去掉这些0)。
样例输入1样例输出145547样例输入2456547 3样例输出2447样例输入31003 1样例输出33【数据限制】本题共有10组测试数据,每组10分,共100分。
50%的数据,10≤n≤2.1*10^9,另外50%的数据n不超过240位。
所有的数据m的值都小于n的位数。
2. 等式(equal)题目描述有一个未完成的等式:1 2 3 4 5 6 7 8 9=N当给出整数N的具体值后,请你在2,3,4,5,6,7,8,9这8个数字的每一个前面,或插入一个运算符号“+”号,或插入一个运算符号“-”号,或不插入任何运算符号,使等式成立,并统计出能使等式成立的算式总数,若无解,则输出0。
例如:取N为108时,共能写出15个不同的等式,以下就是其中的二个算式:1+23+4+56+7+8+9=108 123-45+6+7+8+9=108输入输入1个数,即整数N的值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输入文件名 average.in
suanpan.in
findbrush.in
输出文件名 average.out
suanpan.out
findbrush.out
内存限制
128MB
128MB
128MB
时限
1S
1S
1S
分值
100
100
100
结 果 比 较 方 全文比较(过滤行末空格及文件尾的空行)
式
射击 shooting shooting.pas/c/cpp shooting.in shooting.out 128MB 1S 100
【样例输入 1】 5 0 25 0 23 2 1 15 【样例输出 1】 10.000
【样例输入 2】 3 40 60 100 2 13 23 【样例输出 2】 66.667 80.000 【数据范围】
80%的数据保证 N<=1000,每个整数 Ai(0<=Ai<=1000000) 100%的数据保证 N 个整数和小于 2^63
四、注意事项
1、 文件名(程序名和输入输出文件名)必须使用小写。 2、 C/C++中函数 main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。 3、评测环境为 windows 4、关于竞赛中编程语言使用的其他规定参照中国计算机学会公布的《关于 NOI 系列赛编程 语言使用限制的规定》
第7页
二、提交源程序文件名
对于 pascal 语言 average.pas
对于 C 语言
average.c
对于 C++语言
average.cpp
suanpan.pas suanpan.c suanpan.cpp
findbrush.pas findbrush.c findbrushoting.c shooting.cpp
第3页
宁波市第 31 届中小学生计算机程序设计竞赛复赛试题(小学组)
【输入】 第一行一个整数 N(1<=N<=10000),表示加数的个数 接下来 N 行,每行一个正整数,表示加数 Ai(1<=Ai<=Maxlongint)
【输出】 一个整数表示需要的拨动次数(假设算盘的位数足够多,不止图上的 19 位)
现在给你一系列加数(正整数),请计算使用算盘求解时需要拨动几次,(算盘图如下, 当前表示 67)
算盘被中间的横档分为上下半区,上方只有 1 颗表示该位上的 5,靠近中间的横档就计 数 5,只要拨动它就累计一次拨动,下方的四颗每颗表示 1,靠近横档就计相应个数的 1, 下方需要拨动多颗可以合并为一次拨动。
第4页
宁波市第 31 届中小学生计算机程序设计竞赛复赛试题(小学组)
注意:数据保证有一个画笔的颜色编号出现了一次,其余的都出现了两次 【输出】
一行一个整数 P,表示拿走的画笔的颜色编号。 【样例输入】 9 1 1 911 5 3 11 5 9 【样例输出】 3
第四题、射击 (shooting.pas/c/cpp)
请问最少需要几次射击使靶子中所有小格子都呈现凹的状态。 注意:子弹中心点如果打到四个角上则只会影响 3 个格子,如下图黑色格子表示被子 弹中心点正好击中左上角后覆盖的 3 个格子,如果打到除四个角的边界上,则会影响到 4 个格子,如下图右侧的 4 个黑色格子所示,这是子弹中心点打中第 3 行第 6 列时的覆盖情 况。(也就是说子弹超出靶子部分不起效)
第6页
宁波市第 31 届中小学生计算机程序设计竞赛复赛试题(小学组)
【样例输入 2】 89 ..XXXXX.. .X.....X. X..X.X..X X.......X X.X...X.X X..XXX..X .X.....X. ..XXXXX.. 【样例输出 2】 25 【数据范围】
对于 30%的数据,1<=N,M<=4
gcc -o findbrush findbrush.c -lm
gcc -o shooting shooting.c -lm
对于 C++语言
g++ -o average g++ -o suanpan g++ -o findbrush g++ -o shooting average.cpp -lm suanpan.cpp -lm findbrush.cpp -lm shooting.cpp -lm
第2页
宁波市第 31 届中小学生计算机程序设计竞赛复赛试题(小学组)
第二题、拨算盘
(suanpan.pas/c/cpp)
【问题描述】 对数字敏感的豆豆顺利进入了学校的珠算兴趣小组,老师送了他们每人一个算盘,但好
玩的算盘并不是那么容易上手的,有很多小朋友因为嫌累纷纷退出了该兴趣小组,豆豆觉得 人都走光了就太冷清了,于是决定说服小朋友们留下来,他把加法算式所需要的拨动次数算 了出来,发现其实拨动次数没有想象的那么多。
【样例输入 1】 2 2 3 【样例输出 1】 3 【样例输入 2】 2 26 37 【样例输出 2】 8 【样例输入 3】 2 853 947 【样例输出 3】 11 【数据范围】
30%的数据保证每个加数是 100 以内的,N<=10 60%的数据保证加数和小于 2^31,N<=100
第三题、找画笔
N*M 的方形格子靶子,每个格子有两种状态凸或者凹(如下图浅色表示凹,深色表示 凸)
现在用一个十字横截面的子弹(填充黑色部分)去射击,被射中的小格子凹变凸,凸变 凹,子弹放大后的横截面如下图
第5页
宁波市第 31 届中小学生计算机程序设计竞赛复赛试题(小学组)
这种子弹最多可以覆盖 5 个格子,如图打完后,5 个格子凹凸状态发生了变化
【问题描述】 不难发现,豆豆能从很多事情中去思考数学,于是豆豆父母决定让他去练习射击,这是
项需要集中注意力的运动,相信能够让豆豆暂时脱离数学。学习射击的第一天就让豆豆产生 了浓厚的兴趣,射击的靶子是大饼圆,射击枪的子弹近似圆柱,为什么要圆的不能是其他的 形状呢,于是豆豆开始构思,设计了这样一个好玩的问题:
第1页
宁波市第 31 届中小学生计算机程序设计竞赛复赛试题(小学组)
第一题、平均值
(average.pas/c/cpp)
【问题描述】 豆豆从小对数字很敏感,小学里就显露出超常的能力,老师为了防止他太过骄傲,给了
他一个可怕的难题:求一串给定整数某一段的平均值,保留 3 位小数。每个整数都是小于 2^31 的。老师做梦也没想到豆豆全都回答出来了,原来豆豆有一个擅长编程的朋友你。 【输入】
(findbrush.pas/c/cpp)
【问题描述】 豆豆对数字的执着,让他在理科领域游刃有余,但他近乎疯狂的投入也使父母有些担心,
为了让孩子能够全面发展,决定拓宽他的学习领域,正好家旁边有个绘画培训中心就给豆豆 报了名,学习绘画的第一天就让豆豆产生了浓厚的兴趣,还主动要求买了很多很多的画笔, 画笔有多种颜色,豆豆有一个习惯就是同种颜色的画笔就买两支,一支备用,就这样总共攒 了 N 支画笔(N 是偶数且 1<N<10^6)。
注意:珠算里面的手法习惯是高位先算(这迎合了我们读数字的习惯) 例如 37+31,拨动方法如下图:
先拨动十位 3 一 次,再拨动个位 上的 5 和 2,总 共拨动三次
十位上由 3 变成 6,上方的 5 拨 下,下方的 2 个 拨下共二次
个位上由 7 变成 8,下方拨上一个 珠子一次
所以 37+31 总共需要拨动 6 次
可是数字的敏感无孔不入,豆豆脑里蹦出了一个奇怪的问题:如果蒙上眼任意拿走一支 画笔,分析剩下的 N-1 支画笔找出拿走了哪种颜色,你能回答他吗? 【输入】
第一行一个整数表示剩下的画笔个数就是题目描述中的 N-1 第二行 N-1 个用空格隔开的正整数 Ai(1<=Ai<2^31),表示剩下的画笔的颜色编号
宁波市第 31 届中小学生计算机程序设计竞赛复赛试题(小学组)
宁波市第 31 届中小学生计算机程序设计竞赛 复赛试题(小学组)
比赛时间:2016 年 3 月 27 日下午 13:30-16:00
一、题目一览
试题名称 平均值
拨算盘
找画笔
英文代号
average
suanpan
findbrush
程序名
average.pas/c/cpp suanpan.pas/c/cpp findbrush.pas/c/cpp
三、编译命令(不包含任何优化开关)
对于 pascal 语言 fpcaverage.pas fpcsuanpan.pas fpc findbrush.pas fpcshooting.pas
对于 C 语言
gcc -o average average.c -lm
gcc -o suanpan suanpan.c -lm
【输入】 第一行两个用空格隔开的数字 N 和 M(1<=N,M<=17) 接下来 N 行描述靶子中小格子的状态,‘X’表示凸,‘.’表示凹。
【输出】 输出所需要的最少射击次数
注意:输入数据保证有解 【样例输入 1】 55 XX.XX X.X.X .XXX. X.X.X XX.XX 【样例输出 1】 5