-
noip2019
第十年全国青少年信息学奥林匹克联赛普及组复赛试<
/p>
题
〔普及组三小时完成〕
【一】不高兴的津津
【问题描述】
津津上初中了。
妈妈认为津津应该更加用功学习,
所以津津除了上学之外,
还要参加妈妈为
她报名的各科复习班。
另外每周妈
妈还会送她去学习朗诵、
舞蹈和钢琴。
但是津津如果一天
上课超过八个小时就会不高兴,
而且上得越久就会越不高兴。
假设津津不会因为其它事不高
兴,
并且她的不高
兴不会持续到第二天。
请你帮忙检查一下津津下周的日程安排,
看看下周
她会不会不高兴;如果会的话,哪天最不高兴。
【输入文件】
输入文件
包括七行数据,分别表示周一到周日的日程安排。每行包括两个小于
10
的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安
排她上课的时间。
【输出文件】
<
/p>
输出文件
包括一行,这一行只包含一个数
字。如果不会不高兴那么输出
0
,如
果
会那么输出最不高兴的是周几〔用
1,2,3,4,5,6,7
分别表示周一,周二,周三,周四,周
五,周六,
周日〕
。如果有两天或两天以上不高兴的程度相当,
那么输出时间最靠前的一
天。
【样例输入】
53
62
72
53
54
04
06
【样例输出】
3
【二】花生采摘
(/dpr/c/cpp)
【问题描述】
鲁宾逊先生有一只宠物
猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现
路边的告示牌上贴着一张
小小的纸条:
“欢迎免费品尝我种的花生!——熊字”
。
鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。在告示牌背
后,路边真的有一
块花生田,花生植株整齐地排列成矩形网格〔如图
1
〕
。有经验的多多一眼就能看出,每棵
< br>花生植株下的花生有多少。为了训练多多的算术,鲁宾逊先生说:
“你先找出花生
最多的植
株,去采摘它的花生;然后再找出剩下的植株里花生最多的,去采摘它的花生;
依此类推,
不过你一定要在我限定的时间内回到路边。
”
我们假定多多在每个单位时间内,可以做以下四件事情中的一件:<
/p>
1)
从路边跳到最靠近路边〔即第一行
〕的某棵花生植株;
2)
从一棵植株
跳到前后左右与之相邻的另一棵植株;
3)
采摘一棵植株下的花生;
4)
从最靠近路边〔即第一行〕的某棵花生植株跳回路边。
现在给定一块花生田的大小和花生的分布,
请问
在限定时间内,
多多最多可以采到多少
个花生?注意可能只有部分植株下面长有花生,假设这些植株下的花生个数各不相同。
例如在图
2
所示的花生田里,只有位于
(2,5),(3,7),(4,2),(5,4)
的植株下长
有花生,
个数分别为
13,7,15,9
。沿着图示的路线,多多在
21
个单位时间内,最多可以采到
37
个花
生。
【输入文件】
输入文件
的第一行包括三个整数,
M,N
和
K
,
用空格隔开;
表示花生田的大小为
M*N
〔
1<=M,N<=20
〕
,
多多采花
生的限定时间为
K
〔
0<=K<=10
00
〕
个单位时间。
接下来的
M
行,
每行包括
N
p>
个非负整数,也用空格隔开;第
i+1
行的
第
j
个整数
Pij
〔
0<=Pij<=500
〕表示
花生田里植株
(i,j)
下花生的数目,
0
表示该植株下没有花生。
【输出文件】
输出文件
包括一行,
这一行只包含一个整数,
即在限定时间内,
多多最多可以
采到花生的个数。
p>
【样例输入
1
】
6721
0000000
00001300
0000007
01500000
0009000
0000000
【样例输出
1
】
37
【样例输
入
2
】
6720
0000000
00001300
0000007
01500000
0009000
0000000
【样例输出
2
】
28
【三】<
/p>
FBI
树
(/dpr/c/cpp)
【问题描述】
我们可以把由“
0
”和“
1
”组成的
字符串分为三类:全“
0
”串称为
B<
/p>
串,全“
1
”串称为
I
串,既含“
0
”又含“
1
”的串那么称为
F
串
。
FBI
树是一种二叉树
[1]
,
它的结点类型也包括
F
结点,
B
结点和
I
结点三种。
由一个长度为
2
N
的“
01
”串
S
可以构造出一棵
FBI
树
T
,递归的构造方法如下:
< br>1)T
的根结点为
R
,其类型与
串
S
的类型相同;
< br>2)
假设串
S
的长度大于
1
,将串
S
从中间分
开,分为等长的左右子串
S1
和
S2<
/p>
;由左子串
S1
构造
R
的左子树
T1
,由右子串
S2
构造
R
的右子树
T2
。
现在
给定一个长度为
2N
的“
01
”串,请用上述构造方法构造出一棵
FBI
树,
并输出它的后
序遍历
[2]
序列。
p>
【输入文件】
输入文件
的第一行是一个整数
N
〔
0<=N<=10
〕
,第二行是一个长度为
2N
的“
p>
01
”串。
【输出文件】
输出文件
包括一行,这一行只包含一个字符串,即
FBI
p>
树的后序遍历序列。
【样例输入】
3
10001011
【样例输出】
IBFBBBFIBFIIIFF
【数据规模】
对于
< br>40%
的数据,
N<=2
;
p>
对于全部的数据,
N<=10
。
【四】火星人
(/dpr/c/cpp)
【问题描述】
人类终于登上了火星的
土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语
言,但是我们的科学家
发明了一种用数字交流的方法。这种交流方法是这样的,首先,
火星
人把一个非常大的数字告诉人类科学家,
科学家破解这个数字的含义后,
再把一个很小的数
字加到这个大数上面,把结果告诉火星人,作为人类的回
答。
火星人用一种非常简单的方式来表示数字——掰手指。<
/p>
火星人只有一只手,
但这只手上有成
千上
万的手指,这些手指排成一列,分别编号为
1
,
2
,
3
……。火星人的任意两
根手指都能
随意交换位置,他们就是通过这方法计数的。
p>
一个火星人用一个人类的手演示了如何用手指计数。
如果把五根手指
——拇指、
食指、
中指、
无名指和小指
分别编号为
1
,
2
,
3
,
4
和
5
,
当它们按正常顺序排列时,
p>
形成了
5
位数
12
345
,
当你交换无名指和小指的位置时,
会形成
5
位数
12354
,
当你把五个手指的顺序完全颠倒时,
会形成<
/p>
54321
,在所有能够形成的
120<
/p>
个
5
位数中,
1
2345
最小,它表示
1
;
12354
第二小,
它表示
2
;
54321
最大,它表示
120
。下表展示了只有
3
< br>根手指时能够形成的
6
个
3
p>
位数和
它们代表的数字:
三进制数
123
132
213
231
312
321
代表的数字
1
2
3
4
5
6
现在你有幸成为了第一个和火
星人交流的地球人。
一个火星人会让你看他的手指,
科学家会<
/p>
告诉你要加上去的很小的数。
你的任务是,
把火星人用手指表示的数与科学家告诉你的数相
加,
并根据相
加的结果改变火星人手指的排列顺序。
输入数据保证这个结果不会超出火星人
手指能表示的范围。