青蛙过河(文件IO)
题目描述
一只青蛙要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个,每个桩子上都有一个弹簧,青蛙跳到弹簧上就可以跳的更远。每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为 \(5\),就代表青蛙下一跳最多能够跳 \(5\) 米,如果为 \(0\),就会陷进去无法继续跳跃。河流一共 \(N\) 米宽,青蛙初始位置就在第一个弹簧上面,要跳到最后一个弹簧之后就算过河了,给定每个弹簧的力量,求青蛙最少需要多少跳能够到达对岸。
格式
输入格式
第一行为正整数 \(t(≤5)\),表示数据组数;每组数据中,第一行为正整数 \(n(≤30000)\),表示河流宽度(即桩子个数),第二行为 \(n\) 个非负整数 \(a_i(≤30)\),表示每个桩子上弹簧的力量值。
输出格式
对于每组数据,输出最少跳跃数,如果无法到达,则输出 \(-1\)。
样例1
输入样例1
2
5
2 0 1 1 1
5
2 0 3 1 1
输出样例1
4
2
来源
地址:芜湖市二十七中电脑班刷题课
作者:汪老师
模拟赛\(T4\)
文件IO
freopen("river.in","r",stdin);
freopen("river.out","w",stdout);
相关
在下列训练计划中: