宁波市第31届小学生计算机程序设计初赛试题

合集下载

宁波市第31届小学生教育计算机程序设计初赛精彩试题

宁波市第31届小学生教育计算机程序设计初赛精彩试题

宁波市第31届小学生计算机程序设计初赛试题— . 选择题(每題 1 . 5 分,共3 0分。

每小题只有唯一个正确答案)1. 一个 16 位整型变量占用()个字节A.1B.2C.4D.82. 表达式 29 div 5 mod 2 + trunk(3.78)的值是()A.33B.32C.4D.53. 字母信息在计算机中最终是以数值的形式存储的,ascii 码统一规定了常用符号用哪些数值来表示,例如字母‘Z'的 ascii 码是十进制的 90,字母‘L’的 ascii 码是十进制(),A. 108B.90C.76D.754. 下列选顶中不属于音频文件格式的是()A.wav 格式B.mp3 格式C.avi 格式D.flac 格式5. 如主存容量为 32M 字节,且按字节编址,表示该主存地址至少应需要()位A.16B.20C.2D.326. 如果一棵二叉树的前序遍历是 ABDEFC.中序遍历是 DEBFAC,那么它的后序遍历是 ()A.ABCDFEB.CAFBEDC.EDFBCAD.DEFBCA7. 表达式 a*(b+c)-d 的后缀表达式是()A.abcd*+-B.abc+*d-C.abc*+d-D. -+*abcd8. 计算机所能辨认的最小信息单位是()A.字节B.位C.字符串D.(K)9. 对于下图,至少要减掉()条边,使之存在一条路径,经过图中每条边一次且仅一次A.0B.1C.2D.310. NFC 是近距离无线通讯技术,此项可以用在手机上,以下()不属于此技术在手机上的应用实例A.手机登录 wifi 刷微信B.手机机场登机验证C.手机充当大厦的门禁钥匙D.手机公交刷卡11. 己知有abcdef 六个整型变量,大小关系如下:a>b,a>c,a>d,b>f,b>c,f>d,d>c,f>e,d>e,c>e 根据以上大小关系,请分折六个整型变量第 3 大的是()A.aB.bC.dD.f12. 一片容量为 16GB 的 SD 卡能存储大约()张大小为 2MB 的码照片。

宁波市第28届中小学生计算机程序设计竞赛复赛试题(小学组)

宁波市第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。

宁波市第22届中小学生程序设计比赛初赛试卷

宁波市第22届中小学生程序设计比赛初赛试卷

宁波市第22届中小学生程序设计比赛初赛试卷初中组●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●一、选择一个正确答案代码(A/B/C/D/E ),填入每题的括号内 (每题1.5分,多选无分,共30分)1.在计算机内部,一切信息存取、处理和传递的形式是( )A .ASCII 码B .BCD 码C .二进制D .十六进制E .八进制2.微型计算机的内存储器比外存储器( ).A .存储容量大B .价格便宜C .存储可靠性高D .读写速度快E .便于携带3.一台计算机的字长是( )位.A .16B .8C .32D .64E .与CPU 型号有关4.下面有关进制中的式子,正确的是( ).A .(11)10=(13)9B .(32)8÷(15)8=(2.14)8C .(21)10×(128)10=(1080)16D .(52)5-(70)3=(110)2E .(11.5)10=(1011.101)25.计算机系统由硬件系统和软件系统组成,平常我们所说的计算机软件是由程序和( )组成.A .相关文档B .相关资料C .相关工具D .相关说明E .相关平台6.人们使用高级语言编写出来的程序,一般先要翻译成为( ).A .标准程序B .翻译程序C .执行程序D .编译程序E .目标程序7.关于计算机病毒,正确的说法是( ).A . 病毒是计算机被黑客攻击后造成的B .病毒只传染给可执行文件C .如果某台电脑感染了病毒,那么它将会传染给附近的电脑D .计算机病毒的特点是:传播性、潜伏性、破坏性、通用性等E .计算机“千年虫”不是计算机病毒。

8.用计算机进行图形制作时,正在绘制的图形是存放在( )A .CPUB .ROMC .内存D .外存储器E .光盘9.在资源管理器中用鼠标选中非连续多个文件的方法是( ).A .单击文件B .SHIFT +单击文件C .CTRL +单击文件D. ALT +单击文件 E .双击文件10.既是输入设备又是输出设备的是( ).A .磁盘驱动器B .键盘C .显示器D .鼠标E .数字化仪11.因特网起源于( ).A .美国科学基金会B .美国国防部C .欧洲粒子物理实验室D .英国剑桥大学E .英特公司12.指出以下统一资源定位器各部分的名称(从左到右),/main/index.html 以下哪个正确?( ). 1 2 3 4A .1主机域名 2服务标志 3目录名 4文件名B .1服务标志 2目录名 3主机域名 4文件名C .1服务标志 2主机域名 3目录名 4文件名D .1目录名 2主机域名 3服务标志 4文件名E .1目录名 2服务标志 3目录名 4文件名13.TCP/IP 有( )层协议.A .3B .4C .5D .6E .714.请从逻辑的角度在后面的括号中填入后续数字;8, 6, 7, 5, 6, 4, ( ).A .1B .2C .3D .4E .515.下面程序段的时间复杂度为( ).For I:=2 to n doFor j:=2 to I-1 doX:=x+1; A .)(n O B .)(log 2n O C .)log (2n i O D .)(n O E .)(2n O16.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( )A .2 3 4 1 5B .5 4 1 3 2C .2 3 1 4 5D .1 5 4 3 2E .2 3 4 5 117.设数据A[10..100,20..100]以行优先的方式顺序存储,每个元素占4个字节,且已知A[10,20]的地址为1000,则A[50,90]的地址是( ).A .14350B .14240C .15340D .15350E .1520018.将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的左孩子编号为( ).A .50B .51C .70D .71E .9819.对序列(45,36,18,53,72,30,48,93,15,36)进行快速排序,( )是执行第一趟快速排序后得到的序列.A .[36,36,18,15,30]45[48,93,72,53]B .[36,36,18, 30,15]45[48, 72,93,53]C .[36,36,18,15,45]30[48,93,72,53]D .[36,36,18,15,30] 53[48,93,72, 45]E .[36,36 ,18,15,30] 53[48,93,72, 45]20.一个有n 个顶点的无向图最多有( )边.A .1-nB .nC .2/)1(-n nD .n 2E .2)1(-n二、问题求解(每题4分,共8分)1、某校有1807个学生。

2018鄞州区中小学生程序设计竞赛小学组(C++)

2018鄞州区中小学生程序设计竞赛小学组(C++)
某二叉树的前序遍历结点访问顺序是 12473568,中序遍历的结点访问顺序是 47215386,
则其后序遍历的结点访问顺序是( )
A.24735681
B.74253681
C.24715386 D.74258631
12、以下断电之后将仍能保存数据的有( )。
A. 硬盘
B. ROM
C. 显存
D. RAM
1
15、ASCII 码的主要作用是( ) A.方便信息交换 B.方便信息存储 C.便于管理 D.便于输出
16、下列哪一种图的邻接矩阵一定是对称矩阵( )
A.有向图
B.无向图
C.AOV 网
D.AOE 网
17、有 6 个元素按 6,5,4,3,2.1 的顺序进栈,问下列哪一个不是合法的出栈序列( )
A.5,4,3,6,1,2
} cout<<ans<<endl; return 0; } 输入:7 输出:________
3、 #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> using namespace std; unsigned long long f[81]; int main(){
2018 鄞州区中小学生程序设计竞赛 小学组(C++)
一、 单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题且仅有一 个正确 选项)
1、我国第一台电子计算机于( )年试制成功
A.1953
B.1958
C.1964
D.1978
2、某台计算机的内存容量是 2018MB,这里的 2018MB 容量是指( )个字节

宁波市第32届中小学生程序设计竞赛(小学组)

宁波市第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 个僵尸。

2013宁波小学生程序设计试卷解题报告by slzxlzw

2013宁波小学生程序设计试卷解题报告by slzxlzw

问题 E: 哈夫曼编码(coding.pas)题目描述哈夫曼编码是一种编码方式,是可变字长编码的一种,由Huffman 于1952 年提出。

该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫Huffman 编码。

简单地来说,就是出现概率高的字符使用较短的编码,反之出现概率低的则使用较长的编码,这便使编码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目的。

现在请你模拟这样的原则对给定的一个字符串进行字母统计。

输入输入文件coding.in,只有一行,是一个字符串,由小写英文字母组成,长度不超过255 个字符。

输出输出文件coding.out,有若干行,每行有两部分组成:一个字母和该字母出现的频率,中间用一个空格分隔,并按频率高低排列,频率相同时则按字母的ASC 码的先后顺序排列。

样例输入soon样例输出o 2n 1s 1提示【题目分析】给出一段字符串,在字符串中出现的字符按出现次数从多到少输出,出现次数一样按字母表顺序输出。

【算法分析】模拟。

开一个记录字符出现次数的数组,然后按照题意输出。

【参考程序】var ch:char;a:array['a'..'z']of longint;max,i:longint;beginwhile not eoln dobeginread(ch);inc(a[ch]); //记录出现次数if a[ch]>max then max:=a[ch]; //记录出现最大出现次数end;for i:=max downto 1 do //按出现次数从大到小输出for ch:='a' to 'z' do //相同的按字母表顺序输出if a[ch]=i then writeln(ch,' ',a[ch]);end.问题 F: 立方和(cubsum.pas)时间限制: 1 Sec 内存限制: 128 MB提交: 37 解决: 21[提交][状态][讨论版]题目描述现给出一个三位数,先对这个三位数的各位数字的立方求和,然后再对求出的和中的各位数字的立方求和,如此一直继续下去,判断最后能否得到一个不再变化的固定值。

宁波市第31届中小学生程序设计竞赛复赛试题初中组试题

宁波市第31届中小学生程序设计竞赛复赛试题初中组试题

宁波市第31届中⼩学⽣程序设计竞赛复赛试题初中组试题宁波市第31届中⼩学⽣程序设计竞赛复赛试题(初中组)⽐赛时间:2016年3⽉27⽇上午9:00-12:00(请选⼿务必仔细阅读本页内容)五.注意事项1、⽂件名(程序名和输⼊输出⽂件名)必须使⽤⼩写。

2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。

3、C语⾔64位整型输⼊输出格式请⽤%I64d(有符号)或者%I64u(⽆符号)。

4、没有其他特殊情况说明时,输⼊输出中任意两个整数之间⽤⼀个空格分隔。

1.猴⼦吃桃(eat.pas/c/cpp)【问题描述】为庆祝今年桃⼦丰收,猴村的猴⼦们举办了⼀次有趣的换桃⼦吃的游戏。

n只猴⼦(编号为1到n)从左向右站成⼀排,每只猴⼦⼿上捧着某种⼝味的⼀个桃⼦(桃⼦的⼝味⽤⼀个⼩写字母表⽰,最多26种⼝味),但是猴⼦⼿上的桃⼦可能不是⾃⼰喜欢吃的⼝味。

换桃过程共进⾏m轮,第i(1≤i≤m)轮交换给出三个整数L i,R i(1≤L i≤R i≤n)和C i,表⽰第i轮交换共进⾏C i遍,每⼀遍从第L i只猴⼦开始依次向右边的猴⼦传递⾃⼰⼿上的桃⼦,即第L i只猴⼦传递给第L i+1只猴⼦,……,第R i - 1只猴⼦传递给第R i只猴⼦,第R i只猴⼦的桃⼦传递给第L i只猴⼦。

请编程计算依次经过m轮传递后,有多少只猴⼦⼿上桃⼦的⼝味是与⾃⼰喜欢的⼝味相同?。

【输⼊】输⼊共m+4⾏。

第1⾏⼀个整数n,表⽰猴⼦的数⽬。

第2⾏n个⼩写字母,依次表⽰第1只猴⼦到第n只猴⼦⼿上捧着的桃⼦⼝味。

第3⾏n个⼩写字母,依次表⽰第1只猴⼦到第n只猴⼦喜欢吃的桃⼦⼝味。

第4⾏⼀个整数m,表⽰共进⾏m轮交换操作。

接下来m⾏,第i+4⾏三个整数L i,R i和C i,表⽰第i轮交换共进⾏C i遍,每⼀遍从第L i只猴⼦开始依次向右边的猴⼦传递桃⼦,第R i只猴⼦的桃⼦传递给第L i只猴⼦。

【输出】输出⼀⾏,⼀个整数,表⽰依次经过m轮交换后,⼿上桃⼦的⼝味与⾃⼰喜欢的⼝味相同的猴⼦数量。

宁波市第 届中小学生计算机程序设计竞赛复赛试题

宁波市第 届中小学生计算机程序设计竞赛复赛试题
第一行一个整数 N(1<=N<=100000),表示一串整数的个数 第二行用空格隔开的 N 个非负整数 第三行一个整数 M(1<=M<=100000),表示 M 次询问 接下来 M 行,每行两个整数 i 和 j(1<=i,j<=N),表示询问第 i 个到第 j 个整数的平均值, 不保证 i<j 【输出】 M 行,每行一个小数,表示平均值
输入文件名 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 系列赛编程 语言使用限制的规定》

宁波市第25届小学生计算机程序设计竞赛试题及答案

宁波市第25届小学生计算机程序设计竞赛试题及答案

宁波市第25届中小学生程序设计竞赛小学组初赛试题一、选择题(每题2分,共30分。

每小题只有唯一一个正确答案)1、在宁波市中小学生程序设计比赛复赛(上机编程)时,以下不能使用的编程语言是:(A)Turbo Pascal (B)Free Pascal (C)C (D)C++2、在Free Pascal中按功能键F7或F4时,以下叙述正确的是:(A)F4逐条语句执行(包括子程序),F7运行至光标位置(B)F7逐条语句执行(包括子程序),F4运行至光标位置(C)F4逐条语句执行(不包括子程序),F7运行至光标位置(D)F7逐条语句执行(不包括子程序),F4运行至光标位置3、使用高级语言编写的程序称之为:(A)源程序(B)编辑程序(C)编译程序(D)链接程序4、如果自己的程序进入了死循环,应当按什么键终止?(A)Ctrl+C (B)Ctrl+D (C)Alt+C (D)Alt+D5、参加宁波市中小学生程序设计比赛复赛(上机编程)时,以下哪种行为是允许的?(A)访问互联网或局域网(B)使用U盘或光盘(C)使用自带的草稿纸(D)考试时发现机器有问题,举手示意监考人员处理6、参加宁波市中小学生程序设计比赛复赛(上机编程)时,你有一个程序被判0分。

你发现程序其实是正确的,但存在以下问题,提出申诉,以下哪个申诉会被接受?(A)源程序文件名和存放源程序的目录名错误(B)只是存放源程序的目录名错误,源程序文件名是正确的(C)存放源程序的目录名正确,源程序文件名是错误的(D)根据比赛规则,以上申斥都不会被接受7、在Free Pascal语言,以下关于各种数据类型占内存空间大小的描述错误的是:(A)每个intege型占2个字节(B)每个longint型占4个字节(C)每个boolean型占2个字节(D)每个extended型占10个字节8、关键码相同的二个元素,原来在排在前面的还能保证排在前面,这种排序算法我们称它是稳定的。

宁波市第23届中小学生计算机程序设计竞赛复赛试题(小学组)

宁波市第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中,否则这组密码就失效了。

玉帝还算是仁慈的,没有将更难的牌打出来,他想把天庭的粮食恩赐人间,但他绝不会给那些不动脑子的人。

现在请你解开天庭司粮库密码锁的密码,帮助人们获得天庭恩赐的粮食。

宁波市第24届中小学生计算机程序设计竞赛复赛试题(小学组)

宁波市第24届中小学生计算机程序设计竞赛复赛试题(小学组)

宁波市第24届中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。

2.允许使用数学库(uses math子句),以及ansistring。

但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。

3.本次比赛允许使用64位整数类型:int64或qword。

1.甜蜜的烦恼(space)题目描述【问题描述】最近珍珍学会了使用电脑,她发现可以利用电脑解决很多事情,并且效率会快许多。

比如,在一份名单中找某个人的姓名,在以前,她得依次逐个查找,速度慢又很容易看错。

现在,她使用菜单命令:“编辑”-“查找”(或按Ctrl+F键),在弹出的查找对话框中,输入要查找的姓名,电脑就会找到要找的姓名或告诉你不存在你要找的姓名了。

真是又快又准,太爽了!今天珍珍在查找时,输入“张明”,电脑告诉她不存在,但她不经意间发现“张明”是有的!原来,提供原始名单的人,为了格式漂亮在中间输入了一个空格,因此电脑找不到了。

她想这容易解决,继续查找“李达”,没有?查找“李达”(中间一个空格),还没有?原来某些姓名中间的空格数是有多个的!珍珍想删除所有姓名中间的空格,但由于名单很多,一个一个删除太慢了,所以她找到了会编程解决问题的你,请你写一个程序,删除所有名单中间的空格。

输入【输入】输入文件space.in的第一行只有一个正整数n,表示名单中共有n个人的姓名。

第二行至第n+1行共n行,每行是一个人的姓名(由大小写英文字母以及字母之间的空格组成)。

输出【输出】输出文件space.out有n+1行,第一行只有一个正整数,表示总共删除的空格数。

第二行至第n+1行共n行,每行表示一个删除空格后的姓名(按照输入姓名的次序)。

鄞州区小学生计算机程序设计竞赛

鄞州区小学生计算机程序设计竞赛

鄞州区小学生计算机程序设计竞赛(两小时完成)◆◆请将正确答案在答题卷上填写,在本试题卷上答题无效◆◆一、选择题(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)计算机语言分为___________语言、______________语言和____________语言。

宁波市小学生计算机程序的设计竞赛试题(卷)合集含答案(截止2016年)

宁波市小学生计算机程序的设计竞赛试题(卷)合集含答案(截止2016年)

市第20届小学生计算机程序设计初赛试题〔说明:考试时间90分钟,总分为120分〕一、选择题(每一小题2分,共40分)如下各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项写在答题卷相应位置上,答在试卷上不得分。

1、一个完整的计算机系统应包括____。

A 主机,键盘和显示器B 计算机与其外部设备C 系统硬件和系统软件D 硬件系统和软件系统2、十进制数2005转换为二进制,结果是〔〕。

A、 B、 C、 D、3、如下电子地址,正确的答案是( )。

A johnhotmail.B caiC 162.105.111.22D .sohu.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信息时用的工具是浏览器。

宁波市第届中小学生计算机程序设计竞赛

宁波市第届中小学生计算机程序设计竞赛

宁波市第30届中小学生计算机程序设计竞赛小学组初赛试题(阐明:答案请写在答题卷上。

考试时间120分钟,满分100分)一、选取题(每题有且仅有一种对的答案,选对得1.5分,选错、不选或多选均不得分)1.下列不能描述鼠标性能指标是(A)刷新率(B) CPI (C) DPI (D) UPI2.下列关于4G网络说法中错误是(A)TD-LTE 是其中一种制式(B) FDD-LTE是其中一种制式(C) 4G是集中3G与WLAN与一体(D) 理论上其宽带速度可以达到1000MB每秒3. 下列关于CES中Intel公司新推出CPU产品说法中错误是(A) 是14nm工艺芯片(B) 代号为Broadwell(C) 比Skylake架构更为先进(D) 将一方面用于笔记本和移动领域4. 15以内正整数(包括15) 互质数共有多少对?(a,b)和(b,a)算同一对。

(A) 71 (B) 72 (C) 73 (D) 745. 给定序列a=(5,3,1,2,4),每次可以互换序列中两个数,代价为这两个数和。

那么将a排序最小代价是多少(A) 18 (B) 19 (C) 17 (D) 206. 一棵有根树中,每个非叶节点均有三个儿子,所有叶节点深度相似。

若这棵树中存在一条最长途径有9个结点,则这棵树共有多少节点(A) (– 1)/2 (B) (C) (– 1)/2 (D)7. 十进制数174转化成二进制是(A) 10011110 (B) 10010011 (C) 10110000 (D) 101011108. 已知A=True,B=False,C=True,下列逻辑表达式中值为真是(A) (A∨C)∧B (B) (A∧B)∨(B∧C)(C) (A∨C)∨(A∧(B∨┐C) (D) (┐(A∧C))∨(B∧C)9.如下哪个顺序描述了一种编译器(A)语法分析器,语义分析器,词法分析器,中间代码生成器,机器无关代码优化器,代码生成器,机器关于代码生成器(B)语法分析器,语义分析器,词法分析器,中间代码生成器,机器关于代码优化器,代码生成器,机器无关代码优化器(C)词法分析器,语法分析器,语义分析器,中间代码生成器,机器无关代码优化器,代码生成器,机器关于代码优化器(D)词法分析器,语法分析器,语义分析器,中间代码生成器,机器关于代码优化器,代码生成器,机器无关代码优化器10.考虑所有只由0、1、2构成字符串。

宁波市第25届中小学生计算机程序设计竞赛复赛试题(小学组)

宁波市第25届中小学生计算机程序设计竞赛复赛试题(小学组)

宁波市第25届中小学生计算机程序设计竞赛复赛试题(小学组)比赛时间:2010年4月18日上午9:00—12:00题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。

2.允许使用数学库(uses math子句),以及ansistring。

但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。

3.本次比赛允许使用64位整数类型:int64或qword。

1. 折纸(folding)【题目描述】小猪上幼儿园的时候,报名参加了折纸兴趣小组。

他表现出了极大的热情,折出了n件折纸作品。

他的作品只有3种,分别是长方形、正方形和三角形。

小猪很想知道他的n件折纸的周长之和。

【输入】输入文件folding.in的第一行只有一个整数n,表示共有n件作品。

ab c三边长度分别为a,b,c的三角形,周长为a+b+c 相邻边长度分别为a和b的长方形,周长为2a+2bb形,周长为4aaa接下来n行,每行有若干个以空格分隔的整数,表示一件作品的情况。

其中第一个整数k (k=1或2或3),表示小猪制作的这件作品的类型,1表示长方形,2表示正方形,3表示三角形。

如果k为1,后面会跟二个正整数a和b,表示长方形的二条相邻边的长度分别为a和b;如果k为2,后面会跟一个正整数a,表示正方形的四条边的长度均为a。

如果k为3,后面会跟三个正整数a、b和c,表示三角形三条边的长度分别为a、b和c(输入数据保证a,b,c能构成三角形,不需验证)。

【输出】输出文件folding.out中仅有一行,该行只有一个整数,表示所有作品的周长之和。

【样例输入】31 2 32 43 6 7 8【样例输出】47【样例说明】共有3件作品:第一件作品:二条相邻边长度分别为2和3的长方形;第二件作品:边长为4的正方形;第三件作品:三条边长度分别为6、7、8的三角形。

宁波市第25届小学生计算机程序设计竞赛试题和答案

宁波市第25届小学生计算机程序设计竞赛试题和答案

宁波市第25届中小学生程序设计竞赛小学组初赛试题一、选择题(每题2分,共30分。

每小题只有唯一一个正确答案)1、在宁波市中小学生程序设计比赛复赛(上机编程)时,以下不能使用的编程语言是:(A)Turbo Pascal (B)Free Pascal (C)C (D)C++2、在Free Pascal中按功能键F7或F4时,以下叙述正确的是:(A)F4逐条语句执行(包括子程序),F7运行至光标位置(B)F7逐条语句执行(包括子程序),F4运行至光标位置(C)F4逐条语句执行(不包括子程序),F7运行至光标位置(D)F7逐条语句执行(不包括子程序),F4运行至光标位置3、使用高级语言编写的程序称之为:(A)源程序(B)编辑程序(C)编译程序(D)链接程序4、如果自己的程序进入了死循环,应当按什么键终止?(A)Ctrl+C (B)Ctrl+D (C)Alt+C (D)Alt+D5、参加宁波市中小学生程序设计比赛复赛(上机编程)时,以下哪种行为是允许的?(A)访问互联网或局域网(B)使用U盘或光盘(C)使用自带的草稿纸(D)考试时发现机器有问题,举手示意监考人员处理6、参加宁波市中小学生程序设计比赛复赛(上机编程)时,你有一个程序被判0分。

你发现程序其实是正确的,但存在以下问题,提出申诉,以下哪个申诉会被接受?(A)源程序文件名和存放源程序的目录名错误(B)只是存放源程序的目录名错误,源程序文件名是正确的(C)存放源程序的目录名正确,源程序文件名是错误的(D)根据比赛规则,以上申斥都不会被接受7、在Free Pascal语言,以下关于各种数据类型占内存空间大小的描述错误的是:(A)每个intege型占2个字节(B)每个longint型占4个字节(C)每个boolean型占2个字节(D)每个extended型占10个字节8、关键码相同的二个元素,原来在排在前面的还能保证排在前面,这种排序算法我们称它是稳定的。

宁波市第32届小学生计算机程序设计初赛试题

宁波市第32届小学生计算机程序设计初赛试题
6 / 8
arr a; int i, j, k, t; void ki(){ srand(time(NULL) ); for(i= 1; i<=SIZE; i++) cin>>a[i]; } void ki2(){ for (i=1; ; i++) cout<<a[i]<< " "; cout << a[SIZE]; } void insertionsort(arr a){ for (i=2; i<=SIZE; i++){ t=a[i]; j=i-1; while (j>0 && ) { } a[j+1]=a[j]; ; } a[j+1]=t; } } int main(){ ki(); k=SIZE; while (
3. 进制数 11011011 的十进制值是( ) A.202 B.2l9 C.193 D.209
4. 机存储容量的基本单位是( ) A.吨 B.光年 C.字节 D.美金
5. 缀表达式(A+B)*(C*(D+E)+F)的后缀表达式是( ) A.C*DE+F+* B.A+BCDE+*F+* C.AB+C+*DEF+* D.AB+CDE+*F+*
4 / 8
cout<<f(9)<<endl; return 0; } 输出:
4. #include <iostream> #include <cstring> using namespace std; int n,i,max1,j,h,t; int a[10001],b[10001]; int main() { cin>>n; b[0]=0; for (i=1; i<=n; i++) { cin>>a[i]; b[i]=b[i-1]+a[i]; } a[0]=0; max1=-100; for (i=1; i<=n; i++){ for (j=1; j<=n; j++){ b[j] -= a[i-1]; if (b[j]>max1){ h=i; t=j; max1=b[j]; } } } if (max1<=0) cout<<0<<endl; else cout<<max1<<endl; return 0; } 输入: 11 -2 11 -4 13 -50 -2 13 -1 6 -9 输出:

宁波小学生程序设计试卷真题训练卷(2010) by slzxhyb

宁波小学生程序设计试卷真题训练卷(2010) by slzxhyb

问题 E: folding(2010nbxx)时间限制: 1 Sec 内存限制: 128 MB提交: 255 解决: 64[提交][状态][讨论版]题目描述输入【输入】输入文件folding.in的第一行只有一个整数n,表示共有n件作品。

接下来n行,每行有若干个以空格分隔的整数,表示一件作品的情况。

其中第一个整数k(k=1或2或3),表示小猪制作的这件作品的类型,1表示长方形,2表示正方形,3表示三角形。

如果k为1,后面会跟二个正整数a和b,表示长方形的二条相邻边的长度分别为a和b;如果k为2,后面会跟一个正整数a,表示正方形的四条边的长度均为a。

如果k为3,后面会跟三个正整数a、b和c,表示三角形三条边的长度分别为a、b和c(输入数据保证a,b,c能构成三角形,不需验证)。

输出【输出】输出文件folding.out中仅有一行,该行只有一个整数,表示所有作品的周长之和。

样例输入【样例输入】31 2 32 43 6 7 8样例输出【样例输出】47提示【样例说明】共有3件作品:第一件作品:二条相邻边长度分别为2和3的长方形;第二件作品:边长为4的正方形;第三件作品:三条边长度分别为6、7、8的三角形。

这3件作品的周长分别为10、16、21,它们的周长之和为47。

【数据规模】50%的数据,1≤n≤50,所有边长为不超过100正整数。

100%的数据,1≤n≤100000,所有边长为不超过100000的正整数。

【问题分析】求所有作品的周长之和。

【算法分析】直接模拟。

可以先读入第一个数:假如是1,便表示是长方形,就紧接着读入两个数,总和加上2*(长+宽);假如是2,便表示是正方形,就紧接着读入一个数,总和加上4*边长;假如是3,便表示是三角形,就紧接着读入三个数,总和加上三条边的总和。

由于范围问题,必须得使用64位整形(int64)。

【参考程序】var i:longint;n,ch,x,y,z,w:int64;beginread(n);for i:=1 to n dobeginread(ch);if ch=1 then begin read(x,y);w:=w+2*(x+y);end; {处理长方形}if ch=2 then begin read(x);w:=w+4*x;end; {处理正方形}if ch=3 then begin read(x,y,z);w:=w+x+y+z;end; {处理三角形}end;writeln(w);End.【本题小结】考察int64的使用。

宁波市第22届中小学生计算机程序设计竞赛复赛试题(小学组)

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

宁波市第31届小学生计算机程序设计初赛试题— . 选择题(每題1 . 5 分,共3 0分。

每小题只有唯一个正确答案)1. 一个16 位整型变量占用()个字节A.1B.2C.4D.82. 表达式29 div 5 mod 2 + trunk(3.78)的值是()A.33B.32C.4D.53. 字母信息在计算机中最终是以数值的形式存储的,ascii 码统一规定了常用符号用哪些数值来表示,例如字母‘Z'的ascii 码是十进制的90,字母‘L’的ascii 码是十进制(),A. 108B.90C.76D.754. 下列选顶中不属于音频文件格式的是()A.wav 格式B.mp3 格式C.avi 格式D.flac 格式5. 如主存容量为32M 字节,且按字节编址,表示该主存地址至少应需要()位A.16B.20C.2D.326. 如果一棵二叉树的前序遍历是ABDEFC.中序遍历是DEBFAC,那么它的后序遍历是()A.ABCDFEB.CAFBEDC.EDFBCAD.DEFBCA7. 表达式a*(b+c)-d 的后缀表达式是()A.abcd*+-B.abc+*d-C.abc*+d-D. -+*abcd8. 计算机所能辨认的最小信息单位是()A.字节B.位C.字符串D.(K)9. 对于下图,至少要减掉()条边,使之存在一条路径,经过图中每条边一次且仅一次A.0B.1C.2D.310. NFC 是近距离无线通讯技术,此项可以用在手机上,以下()不属于此技术在手机上的应用实例A.手机登录wifi 刷微信B.手机机场登机验证C.手机充当大厦的门禁钥匙D.手机公交刷卡11. 己知有abcdef 六个整型变量,大小关系如下:a>b,a>c,a>d,b>f,b>c,f>d,d>c,f>e,d>e,c>e 根据以上大小关系,请分折六个整型变量第3 大的是()A.aB.bC.dD.f12. 一片容量为16GB 的SD 卡能存储大约()张大小为2MB 的码照片。

A.2000B.4000C. 8000D.1600013. 下列哪个不属于物联网的应用实例( )A.电脑实时显示快递车辆运动轨迹B.苹果手机小偷刷机时警察定位并抓荻C.远监控工地施工D.实况足球里的角色具备c 罗、梅西的个人能力14. 互联网其中一大优势就是可以共享资源,以下哪项活动不属于共享资源()A.为网民提供代理服务器加速流览国外网站。

B.设计一个学生信息的数据库C.QQ 传输文件D.在校网上发布最新版编程软件15. 15、三位水仙花数是指每个位上的数字的 3 次幂之和等于它木身。

(例如:1^3+5^3+3^3=153)找所有三位水仙花数程序如下,它的算法属于()for i:l to 9 do for j:=0 to 9 do for k:=0 to 9 do if(i*i*i+j*j*j+k*k*k=i*100+j*10+k) then ……A.动态规划B.贪心C.枚举D.递归16. 如果一个栈始时为字.当前栈中的元素从栈底到栈顶依次为a,b·另有元素c,d,己经出栈,则不可能的人栈顺序是()。

A.bacdB.cdabC.cadbD.dabc17. 二进制数10101 转化成十进制表示是()A.42B.21C.13D.2518. 18、己知逻辑表达式值为false 的是()a=true b=false c=false d=trueA.a and b xor c and dB.a Or b and c or dC.a xor b or c and dD.a or b xor d and c19. 计算机前端总线的英文名字是Front Side Bus,用FSB 表示.指的是将CPU 接到()的总线。

A.内存B.北桥芯片C.南桥芯片D.I/O 设备20. 第45 届全球超级汁算机500 强排行榜.于2015 年7 月公布,冠军是()A.中国“天河二号”B.美国橡树岭国家验率的“泰坦”C.日本理化学研究所的"K Computer"D.美国劳伦斯一利弗莫尔国家实验的“紅杉”二.问题求解(每理5分,共10分)1. 豆豆是个对数学非常敏感的孩子,刚学了加法,他就发现3的所有倍数个位数字都是有规律的,例如: 3,6,9,12,15,18,21,24,27,30,33,36,39,42 ....存个循环(3,6,9,2,5,8,1,4,7,0)。

等到学了乘法后,他思考这个问题:3^2016(2016个3相乘)运算结果的个位上的数字是()。

答案:2. 豆豆课余爱好之一就是玩各种自创的数字游戏,其中一种很受同学的好评,大家经常开展比赛。

这个游戏如下:5行5列的数字方阵中选取5个数,求这5 个数任意2个既不是同一行,也不能同一列。

看看谁能最先算出这5个数最大和是()。

豆豆总是能胜出。

看人的了。

15 06 14 12 20 03 11 18 03 13 06 09 14 09 14 13 12 07 16 19 22 14 08 07 14答案:三.阅读程序,求程序运行输出结果(每题8分,共32分)1.vara, b,c, d: longint;beginread(a, b, c);a:=a+b*c;b:=a-c;c:=a+b;d:=b*c-a;a:=d*(a-b);writeln('a=',a);end.【输入】:111 输出:2.vari,j:longint;a,b:array[0..20] of longint;out:array[0..200] of boolean;beginfor i:=1 to 12do read(a[i]);for i:=1 to 15do read(b[i]);for i:=1 to 12 dofor j:=1 to 15 doif a[i]=b[j] then out[a[i]]:=true;for i:=1 to 90 doif not out[i] and (i mod 8=0) thenwrite(i,' ');end.【输入】:2 17 23 28 29 37 38 48 49 58 79 1142 17 23 28 29 38 45 48 56 58 67 72 75 101 122输出:3.varj:longint;use:array[0..10] of boolean;a:array[0..10] of longint;procedure dfs( i: longint);var j:longint;beginif i>2 then beginfor j:= 1 to 2 dowrite(a[j],' ');writeln;exitend;for j:=a[i-1]+1 to 3 doIf not use[j] then beginuse[j]:=true;a[i]:=j;dfs(i+1);use[j]:=false;end;end;begindfs(1);end.输出:4.varn,i,j,t,sum:longint;a:array[0..50] of longint;f:array[0..50] of boolean;beginreadln(n);for i:= 1to n doread(a[i]);fillchar(f,sizeof (f),true);for i := 1to n doif f[i] thenbegininc(sum);t:=a[i] ;for j:=i to n doif f[j] and (t=a[j]) thenbeginf[j] := false;t:=t-1;if t=0 thenbreak;end;end;writeln(sum);end.【输入】:89 19 11 7 3 2 6 1输出:四.完善程序(前两空每空2 分,其余八空每空3 分,共28 分)1. 买书书店有个买2送1的活动:买3本书只要付较贵的2本就可以了。

举个例子:10 3 2 4 6 4 9 , 如果这样组合(10, 3, 2), (4, 6, 4) and(9),就能在第一个括号中省下2元,第二括号中省下4元,但第三个括号不能省了,因为不足3本书。

售货员是个热心肠也爱动脑筋的人,他想为每位顾客尽可能多的省钱,请你帮助她吧。

注意:不一定非要组合三本书一堆,但一堆的数量必须是1到3输入的第一行一个整数N,表示书的数量。

接下来的N行,每行包含一个整数Ci,表示每本书的价格。

输出一个数。

表示最终要为这些书付出的最小价格。

解题思路:贪心的策略,按照书费的降序排序,挑尽可能贵的2本放在一起来省去书费,反复操作,直到书少于3本样例中10 3 2 4 6 4 9 就可以这样分组:(10 9 6)、(4 4 3)、(2),很显然省去了6+3+2=9,这是最省钱的分组方案,根据这个思路,请完善以下程序varn,i:longint;a:array[0..100001] of longint;s:int64;procedure sort(l,r:longint);//sort过程实现a数组值的降序排序var i,j,x,y:longint;begini:=l; j:=r; x:=a[(l+r) div 2];repeatwhile_________ do inc(i);while x>a[j] do dec(j);if not(i>j) thenbeginy:=a[i];_________; a[j]:=y;inc(i); j:=j-1;end;until _________;if l<j then sort(l,j);if i<r then sort(i,r);end;beginreadln(n);for i:= 1 to n doread(a[i]);sort(1,n);for i:= 1 to n doif _________thens:= _________;writeln(s);end.2. 拼木棍有一些同样长的木棍,氢这些木棍随意砍成几段。

现在,他想把小木棍拼接成原来的的样子,但是忘记了自己开始时有多少根木棍和它们的的长度。

给出每段小木棍的长度,编程找出原始木棍的最小可能长度。

输入第一行为一个单独的整数N表示砍过以后的小木棍的总数。

笫二行为N个用空格隔开的正整数,表示N根小木棍的长度,输出仅一行,表示要求的原始木棍的最小可能长度。

样例输入:95 2 1 5 2 1 5 2 1样例输出:6解题思路:枚举原始木棍长度,然后验证小木棍是否能拼凑出该枚举长度的整数倍,但要充分利用题目的隐含的信息进行优化,不然会超时优化1:原始木棍长度>=最大的小木棍长度,原始木棍长度<=小木棍长度之和优化2:小木棍的长度之和一定是原始的木棍长度的倍数优化3:小木棍应该由大到小去拼凑枚举出来的原始木棍长度优化4:当每次尝试接入小木棍后,大木棍未达到要求长度时,尝试接入的下一根小木棍要和刚刚接入小木棍和长度不相等优化5:当一个小木棍接入后,刚好达到原始木棍长度,在以后的尝试中没有必要用更小的小木棍代替这个刚接入的小木棍根据以上解题思路完善如下程序varn,i,L,max,sum,j:longint;a:array[0..100] of longint;visit:array[0..100] of boolean;procedure dfs(k,now:longint);vari,last:longint;beginif (k>n) and (now=0) thenbeginwriteln(L);halt;//退出整个秤序end;if k>n then exit;last:=0;for i:=1 to n doif (not(visit[i])) and (now+a[i]<=L) and (_________)then beginvisit[i]:=true;if (_________)thenbegindfs(k+1,0);visit[i]:=false;exit;//这里的退出体现了优化5end;_________;visit[i]:=false;last:=a[i];if now=0 then exit;end;end;beginreadln(n);i:=n;while i>0 dobeginread(L);_________;a[i]:=L;i:=i-1;if L>max then max:=L;end;for i:=1 to n dofor j:=i+1 to n doif_________then //将所有木棍从大到小排序,利用优化3beginL:=a[i];a[i]:=a[j];a[j]:=L;end;for L:=max to sum do//枚举原始木棍长度L长度时由小到大枚举.利用优化1 if sum mod L=0 then //优化2dfs(1,0);end.。

相关文档
最新文档