2014年第29届宁波市信息学复赛小学组题目
宁波市第29届中小学生程序设计竞赛复赛试题(初中组)解题报告(1)

宁波市第29届中小学生程序设计竞赛复赛试题(初中组)解题报告第一题战马列队题意不难理解,因为n<=1000,我们可以枚举将战马替换后,最后一匹白马在队列中的位置,这样只需统计这匹马之前(包括这匹马)棕马的数量s1,这匹马之后(不包括这匹马)白马的数量s2,将它们替换就能达到我们需要的队列,那么以这个位置作为最后一匹白马的答案就是替换的马匹数即ans=s1+s2。
最终答案即为所有ans中的最小值。
别忘了n<=1000,string存不下,要用ansistring。
代码如下:vars:ansistring;i,j,n,ans,cnt:integer;beginreadln(n);readln(s);ans:=n;for i:=1 to n do begin // i即为枚举的最后一匹白马的位置cnt:=0;for j:=1 to i doif s[j]='B' then inc(cnt);for j:=i+1 to n doif s[j]='W' then inc(cnt);if ans>cnt then ans:=cnt;end;writeln(ans);end.第二题马农这道题首先需要一个常用的小技巧,我们开一个二维数组s[i,j],表示左上角为(1,1),右下角为(i,j)的子矩形中所有数字的和,我们可以用一个递推公式快速求出s数组,即s[i,j] = s[i-1,j]+s[i,j-1]-s[i-1,j-1]+a[i,j] ,其中a[i,j] 表示(i,j)这个格子上的数字。
那么求出s数组有什么用呢?利用s数组,可以迅速求出左上角为(x,y),右下角为(z,u)的子矩形中所有数字的和,公式为ans=s[z,u]-s[z,y-1]-s[x-1,u]+s[x-1,y-1]。
其实上述技巧,在前几年的宁波赛中出现过,即为小学组的题目《方格稿纸》,当然我们是初中组,自然难度要比小学组大,了解上述小技巧后,我们开始来解决这道题目。
2004年宁波市小学生信息学(计算机)决赛试题

2004年宁波市小学生信息学(计算机)决赛试题学校姓名准考证号注意:1、考试时间120分钟,满分100分。
2、上机编程时要随时存盘(硬盘E:和软盘A:),软盘上要写上学校全称、姓名及每题程序名,并注明同时保存在几号电脑硬盘路径及程序名。
3、上机时,请测试软驱、软盘是否可正常读写,有问题请及时举手请监考老师解决。
4、编程开始后,不要关机,完成后请监考老师检验、批改。
5、试题三、试题四任选一题。
试题一(30分)(程序名:XX1-准考号末2位)问题描述把信息代码写到软盘或光盘上时,为了保证存储的信息代码的正确性,一定要将原来的信息代码加上CRC码一起写到盘上,CRC码称为循环冗余校验码。
这是一种差错校验技术。
CRC码是这样产生的:①首先定义一个称为CRC码生成多项式的二进制数字序列,假定这个数字系列长度为r+1;②把以二进制数字表示的一个原始数字序列附上r个0,除以CRC码生成多项式的数字序列,得到的r位余数数字序列即是CRC码。
例如,一个原始二进制数字序列为1010,CRC码生成多项式的数字系列为1 011:10011011 )1010000101110001011011从以上竖式除法可以看到1010-1011=1,1000-1011=11,其实这是按位(运算时不进位或退位)加的结果。
对于按位加减运算来说,加法和减法运算所得的结果是相同的,所以在做减法时,可以用做加法来代替做减法。
于是CRC码 = 011。
将原来的信息代码加上CRC码就是:1010011。
把1010 011写到软盘或光盘上后,再从盘上把这块数据读出时,用同样的CRC码序列去除这块数据,相除后得到的两种可能结果是:①余数为0,表示读出没有出现错误;②余数不为0,表示读出有错。
现在请你设计一个程序,就用以上的CRC码序列1011,用键盘输入模拟从盘上把数据读出的过程。
当通过键盘输入一个7位二进制数字序列后能够判断数据有没有出现错误。
提示ok表示没有出现错误,提示err表示有错。
宁波市江北区信息学复赛题目(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。
宁波市第29届中小学生程序设计竞赛复赛试题(初中组)

宁波市第29届中小学生程序设计竞赛复赛试题(初中组)比赛时间:2014年3月29日上午9:00-12:00(请选手务必仔细阅读本页内容)四.运行内存限制五.注意事项1、文件名(程序名和输入输出文件名)必须使用小写。
2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。
1.战马列队(queue.pas/c/cpp)【问题描述】马年到了,也到了检阅战马的时候。
战马分为白色和棕色两种,一字排开,指挥官希望他的战马队列尽可能整齐好看,将相同颜色的战马放在一起。
大部分人都喜欢高头白马,因此,指挥官要求白马排在前面,棕马排在后面。
现在,N 匹战马都已经在广场列队。
为了达到要求,指挥官可以调换任意一个位置上的战马(有充足的备用战马)。
问至少调换多少匹可以达到要求。
【输入】第一行一个整数N,表示已经排队的战马数量。
第二行一个字符串,表示当前队列从前到后战马的颜色,只包含两种字符,"W"表示白马,"B"表示黑马。
【输出】输出一个数字,表示至少需要调换多少匹战马。
【样例1解释】已经符合白马在前,棕马在后,不需要调换。
【样例2解释】可以把棕马都换成白马WWWWW,或者WWWBB,都是符合要求的队列,至少调换2匹。
【数据范围】30%的数据N<=20。
70%的数据N<=500。
100%的数据N<=1000。
2.马农(farmer.pas/c/cpp)【问题描述】在观看完战马检阅之后,来自大草原的两兄弟决心成为超级“马农”,专门饲养战马。
兄弟两回到草原,将可以养马的区域,分为N*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),叫做差异和,于是不同的排序方法可以得到不同的差异和。
2014年宁波市海曙区中小学生信息学竞赛复赛

1.纸牌游戏(zp.pas)【问题描述】近日,小胡与小金迷上了纸牌游戏。
这个纸牌是小胡和小金同学自制的,每个纸牌上标上了一个整数。
玩法很简单,每人发到n张纸牌,各自把纸牌上的数字加起来,看谁的和最大,谁就羸了!【输入文件】文件名:zp.in第一行有1个整数n,表明每个人发到n张牌。
第二行有n个整数,表明是小胡纸牌上的各个数字,每个整数之间有一个空格。
第三行有n个整数,表明是小金纸牌上的各个数字,每个整数之间有一个空格。
【输出文件】文件名:zp.out。
第一行,如果是小胡羸了,就输出win,如果是小胡输了,就输出lose。
(确保数据中没有打成平手的可能)第二行是一个整数,表示小胡纸牌上所有数字之和。
第三行是一个整数,表示小金纸牌上所有数字之和。
【输入样例1】【输入样例2】350 3 5 4 30 1 34 30 1 50 3 5【输出样例1】【输出样例2】win 58 35 lost 35 58【数据限制】30%数据1<=n<=100, 0<=纸牌上的各个数字<=100000040%数据1<=n<=100, 0<=纸牌上的各个数字<=10的16次100%数据1<=n<=1000, 0<=纸牌上的各个数字<=10的18次【时间限制】1秒2.最长的英文句子(jz.pas)【问题描述】每次英语老师教我们学英语时,很多同学总觉得句子越长越难理解。
后来,英语老师说:“干脆,我们先从最难的开始学起来吧,请同学们把最长的英文句子找出来。
”【输入】输入文件名为jz.in只有一行字符串,由各种英文标点符号和英文字母组成,每一句的结束用英文标点.来表示。
【输出】输出文件名为jz.out第一行输出最长的英文句子(包括句子最后的点号),如果有多个最长的句子,则输出最前一句。
第二行输出最长英文句子的长度。
【输入样例】We always play together. He is friendly and funny boy. He always helps others.【输出样例】He is friendly and funny boy.29【数据范围】70%的数据英文文章长度小于255字。
xx市xx中小学生计算机程序设计竞赛复赛试题(小学组)
宁波市第22届中小学生计算机程序设计竞赛复赛试题(小学组)宁波市第 25 届中小学生计算机程序设计竞赛复赛试题第 1 页共 5 页宁波市第22届中小学生计算机程序设计竞赛复赛试题题目一览试题名称英文代号程序名最小数 min /c/cpp 等式 equal /c/cpp 128 MB 1秒旅行 travel /c/cpp 128 MB 1秒输入文件名输出文件名内存限制时限 128 MB 1秒关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关,也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1.最小数(min)题目描述给定一个正整数n,请去掉其中的m个数字,使其剩下的数字按原先从左到右的相对次序组成一个新数,但该新数的值必须尽可能的小。
【输入】输入文件中只有一行,共2个整数,分别是n和m的值,中间用一个空格分隔。
【输出】输出文件中只有一行,该行只有一个整数,它是从n中去掉m个数字后所能得到的最小新数。
样例输入1宁波市计算机学会,20XX宁波市第 25 届中小学生计算机程序设计竞赛复赛试题第 2 页共 5 页456547 1 样例输出145547样例输入2456547 3样例输出2447样例输入31003 1样例输出33【数据限制】本题共有10组测试数据,每组10分,共100分。
50%的数据,10≤n≤*10^9,另外50%的数据n不超过240位。
所有的数据m的值都小于n的位数。
宁波市计算机学会,20XX宁波市第 25 届中小学生计算机程序设计竞赛复赛试题第 3 页共 5 页2. 等式(equal)题目描述有一个未完成的等式:1 2 3 4 5 6 7 8 9=N当给出整数N的具体值后,请你在2,3,4,5,6,7,8,9这8个数字的每一个前面,或插入一个运算符号“+”号,或插入一个运算符号“-”号,或不插入任何运算符号,使等式成立,并统计出能使等式成立的算式总数,若无解,则输出0。
宁波市第 届中小学生计算机程序设计竞赛复赛试题
输入文件名 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
小学生信息学(计算机)竞赛指导及题解
小学生信息学(计算机)竞赛指导及题解作者:浦丕志 pupizhi@全文用Microsoft Word97&2000生成,B5纸张。
大标题黑体二号字、索引标题黑体三号字,正文宋体五号字,资料、说明性文字用楷体五号字。
-------------------------------------------------------------------------------------前言本书通过作者几年的信息技术课教学、培养选手参加全国青少年信息学(计算机)奥林匹克分区联赛的经验,按照国家教委颁发《中小学计算机课程指导纲要(修订稿)》,及《全国青少年信息学奥林匹克联赛大纲》,结合信息技术课的教学实际,在2003年11月修订而成。
附加了大量实用的竞赛模拟测试题和试题分析,本书可以作为中小学校培养全国青少年信息学奥林匹克联赛选手的学习材料,以及信息技术课的选修教材。
通时也可作为信息技术教师的教学参考资料和青少年信息技术能力开发的科普读物。
全国青少年信息学计算机奥林匹克及其分区联赛(简称NOI),是经中国科协、国家教育部批准,由中国计算机学会主办的一项全国性的青少年学科竞赛活动,是计算机知识在青少年中普及的产物。
计算机奥林匹克竞赛激发了广大青少年对计算机及其应用的兴趣,开阔了学生的眼界,扩大了知识面,培养了他们的逻辑思维、创造思维以及应用计算机解决实际问题的能力,是广大青少年喜闻乐见的既能推动信息技术能力普及的活动形式。
因此说掌握信息技术是未来高科技人才的必备条件。
作为计算机学科普及教育成功的标志,国际NOI竞赛活动至今已连续成功地举办了十九届。
从一九九五年起NOI竞赛活动又予以延伸,组织开展了首届全国分区联赛的活动,至今已是第九届。
这项活动受到了学生、家长、学校与社会各界的普遍欢迎。
本书由三部分组成,第一部分为竞赛指导教程(内容包括:计算机基础知识、计算机应用实践、LOGO语言程序设计);第二部分为自测题及分析;第三部分历届竞赛试题及分析。
2014年南海区青少年信息学奥林匹克竞赛试题(小学甲组)
第1页共5页
NHOI2014 小学甲组题
第二题 找 M 进制数(num)
问题描述: 在信息学课上,楠楠学习了进制数。 他知道了原来数不仅可以表示成十进制,还可以表示成二进制,八进制,十六进制,
甚至是二十进制,三十进制都可以。而且它们都有一个相同的运算规则:逢 M 进一,例 如:二进制逢二进一,八进制逢八进一。因此,M 进制数中每一位上的数可以用 0~M-1 来表示,即二进制数中只有 0 和 1 两种数字,八进制数中有 0,1,2…7 共八种数字。 但是若 M 大于 10 时,大于等于 10 的数字用大写字母表示,例如十六进制数中有 0,1, 2…9,A…F 共 16 种数字。
第5页共5页
例如:
第2页共5页
NHOI2014 小学甲组题
2.966666... 缩写为 2.9(6) 35.232323…缩写为 35.(23) 楠楠发现,根据循环小数的特征,很快能算出这个循环小数中小数点后第 n 位的数 字,你能吗? 输入格式: 输入数据有两行。 第一行,输入一个整数 n(n<=100000),表示求小数点后的第 n 位。 第二行,一个字符串,用缩写法表示的一个循环小数。 输出格式: 输出一个整数,求出循环小数中小数点后第 n 位的数字。 输入样例 1: 10 352.19(7) 输出样例 1: 7 输入样例 2: 5 7328.(192) 输出样例 2: 9
第三题 循环小数(decimal)
问题描述: 数学课上,楠楠学习了一个新的知识。 两数相除,如果得不到整数商,会有两种情况:一种是得到有限小数,另一种是得
到无限小数。从小数点后某一位开始依次不断地重复出现前一个或一节数字的十进制无 限小数,叫做循环小数,如 2.9666..., (在数学中它读作“二点九六,六循环” ), 定 义循环小数的缩写法是将第一个循环节以后的数字全部略去,并将第一个循环节首末用 括号括起来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
宁波市第29届中小学生计算机程序设计竞赛
复赛试题(小学组)
比赛时间:2014年3月29日下午1:30—4:00
题目一览
注意:
一、关于竞赛中编程语言使用的规定参照中国计算机学会公布的《关于NOI系列赛编程语言使用限制的规定》。
二、评测环境为windows。
1.小李数星星
(star.cpp/pas/c)
【题目描述】
小李在农村长大,那时候大家喜欢晚饭过后在院子里纳凉,听不懂大人在说什么的小李喜欢抬头看天空,尤其是夏天的夜晚,天上的星星又多又亮。
长大后小李进城打工,每当想家的时他还是喜欢抬头看看天,寻找另一边故乡的记忆。
可是大城市里空气质量太差了,雾霾天气横行,天上能看到的星星也越来越少了。
小李每次用一个正方形去覆盖自己所能看到的星星,随着日子的推移,这个正方形越来越小了,悲伤的小李希望你能告诉他这个正方形的面积。
为了让问题变得简单,小李每次只会使用水平放置的正方形来覆盖(不会旋转),具体参照样例解释。
【输入】
第一行一个整数n,表示星星的数量。
接下来共n行,每行2个正整数(a,b),表示该星星到X轴距离为b,到Y轴距离为a,这些星星只会位于X轴的上方,Y轴的右方。
输入数据保证存在一个合法的正方形(面积非零)去覆盖这些星星
【输出】
一个整数,表示能覆盖所有星星的最小正方形的面积。
【样例输入】
3
1 1
2 1
2 2
【样例输出】
1
【样例说明】
【数据规模】
80%的数据,3<=n<=20, 1<=x<=100, 1<=y<=100
100%的数据,3<=n<=1000, 1<=x<=100000, 1<=y<=100000
2.小李打台球
(ball.cpp/pas/c)
【题目描述】
在异乡打拼的小李同志迷上了一款叫诺斯克的台球游戏,而且随着练习的深入,他总是能在某些神奇的时刻开启外挂模式,此时小李将指哪打哪,直至无球可打。
现在小李想让你帮他计算下当他开启外挂模式的时候最多可以取得多少分数。
注意:台面上的球数经常会异于传统斯诺克。
斯诺克比赛的基本规则如下:
一、彩球共分8种颜色,红(1分)、黄(2分)、绿(3分)、棕(4分)、蓝(5分)、粉(6
分)、黑(7分)、白(主球,控制白球来打其余球)。
二、当台面上有红球的时候你必须先击打一个红球,然后能且只能击打一个彩球(不包括红球),
此时落袋的彩球将会被放回桌面,一直重复该过程。
三、当打完规则二的彩球(不包括红球)发现已经没有红球时,按照彩球的分值从低到高将其依
次击入袋中。
【输入】
输入仅有一行,共7个用空格隔开的整数,分别为当前台面上红、黄、绿、棕、蓝、粉、黑球的数目。
【输出】
输出仅有一行,共1个整数,表示小李可以得到的最高分。
【样例输入】
2 0 1 0
3 0 2
【样例输出】
48
【样例说明】
台面上共有红球2个、绿球1个、蓝球3个、黑球2个,获得最高分的打法是红-黑-红-黑-绿-蓝-蓝-蓝-黑-黑,共可以获得48分。
【数据规模】
保证最后得分不会超过231-1。
3.小李发奖金
(money.cpp/pas/c)
【题目描述】
当然打台球只是小李的休闲娱乐活动,对待他的本职工作,他还是非常兢兢业业的。
但是小李的老板是个周扒皮,每次都想克扣小李的工资和奖金,甚至制定出非常奇葩的规则。
又到了每年发年终奖的时候了,今年老板的规则是这样的:给你n个数,每次你可以对任意一个数加1,直到所有的数都不相等为止,每加一次都要花费一定数额的费用。
为了小李的幸福生活,聪明的你可否帮助小李,让他尽量少扣钱。
【输入】
第一行n,表示共有n个数。
第二行共n个用空格隔开的非负整数ai。
【输出】
仅一个整数,表示加到让每个数都不相等的最少次数。
【样例输入】
4
1 1 3 2
【样例输出】
3
【样例说明】
让1+1+1+1 = 4,给定的数字变成4,1,3,2。
【数据规模】
30%的数据,1<=n<=10
60%的数据,1<=n<=1000
80%的数据,1<=n<=30000,ai<=1000,
100%的数据,1<=n<=30000,ai<=1000000。
4.小李打怪兽
(monster.cpp/pas/c)
【题目描述】
小李对故乡的思念全部化作了对雾霾天气的怨念,这引起了掌控雾霾的邪神的极大不满,邪神派去了一只小怪兽去对付小李,由于这只怪兽拥有极高的IQ,它觉得直接消灭小李太没有难度了,它决定要和小李在智力水平上一较高下。
我们可否帮助小李来战胜强大的怪兽呢?
问题是这样的:给定一堆正整数,要求你分成两堆,两堆数的和分别为S1和S2,谁分的方案使得
S1*S1-S2*S2的结果小(规定S1>=S2),谁就将获得胜利。
注:S2可以等于0。
【输入】
第一行n,表示共有n个数
第二行共n个用空格隔开的正整数ai,表示给定的一堆正整数。
【输出】
输出就一个整数,表示S1*S1-S2*S2的最小值。
【样例输入】
4
1 2 3 4
【样例输出】
【样例说明】
1和4一堆,2和3一堆,5*5-5*5 = 0
【数据规模】
60%的数据,1<=n<=20
80%的数据,1<=n<=50,ai<=20
100%的数据,1<=n<=100,ai<=100。