75 #4647. 投球游戏(十二届蓝桥杯C++国赛)
投球游戏(十二届蓝桥杯C++国赛)
投球游戏
题目描述:
有一个投球游戏,玩法是将球投到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(2<N<20)表示篮筐的个数
第二行分别输入N个正整数(10<正整数<1000)并以一个空格隔开,分别表示篮筐距离和N个篮筐顺序,每个篮筐的距离都不相同
输出描述:
输出一个整数,表示最多能投进球的个数
样例输入:3
130 200 55
样例输出:2
评分标准:
20分:能正确输出一组数据;
20分:能正确输出两组数据;
20分:能正确输出三组数据;
20分:能正确输出四组数据。
Limitation
1s, 1024KiB for each test case.