宁波市第 届中小学生计算机程序设计竞赛复赛试题
宁波市第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。
- 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