#T1109. [2021第十二届蓝桥杯青少年组国赛] 投球游戏
[2021第十二届蓝桥杯青少年组国赛] 投球游戏
题目背景
第十二届蓝桥杯青少年组国赛2021年5月C++组第5题
题目描述
有一个投球游戏,玩法是将球投到 N 个篮筐里。具体玩法如下:
投篮顺序必须同时符合以下三个规则:
例如给出的 3 个篮筐距离和顺序为 130 200 55。
规则一:第一次投篮可以投任意一个篮筐;
规则二:从第二次投篮开始,每一次投篮只能投顺序在上一次篮筐的后面的篮筐;如果第一次投的 200 篮筐,那么接下来就不能投 130 的篮筐,可以投 55 的篮筐。
规则三:从第二次投篮开始,每一次投篮只能投比上一次投篮距离更近的篮筐。
如果第一次投的 130 的篮筐,那么接下来不能投 200 的篮筐,只能投 55 的篮筐。
现给出 N 的数值,和 N 个篮筐的距离及顺序,假定每次投篮都能投进,请你编写程序计算按照投球规则最多能投进几个球。
如:N=3,3 个篮筐的距离及顺序为:130 200 55
按照三条规则,一共有以下三种投球方案:
1)如果第一次投 130,那么投 130,55,最多可以投进 2 球;
2)如果第一次投 200,那么投 200,55,最多可以投进 2 球;
3)如果第一次投 55,那么投 55,最多可以投进 1 球。
则按照规则最多可投进 2 球。
输入格式
第一行输入一个正整数 表示篮筐的个数
第二行分别输入 N 个正整数并以一个空格隔开,分别表示篮筐距离和 N 个篮筐顺序,每个篮筐的距离都不相同。
输出格式
输出一个整数,表示最多能投进球的个数。
样例 #1
样例输入 #1
3
样例输出 #1
130 200 55