|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
跳蛙出行
池塘里有n片荷叶排成一行,有一只青蛙在上面跳跃。但是,这只青蛙是只
不同寻常的青蛙,它每跳一次, 只能从一片荷叶跳到相邻的荷叶上,并且,它在
两片荷叶之间,只能跳跃有限次。青蛙可以从任意荷叶出发。间它最多能跳多少
次。
输入说明
第一行为一个整数n,表示荷叶数。
第二行为n-1个整数,第i个整数表示在第i片与第i+1片荷叶之间,青蛙
最多跳多少次(无论是从左到右,还是从右到左,均包括在内)。
输出说明
一个整数,表示跳蛙最多跳跃的次数。
输入样例
5
2 1 2 1
输出样例
5
提示:提示:从第3片出发,按3->4->3->2->1->2的次序跳跃。
先留个程序放这里,再慢慢理解他的题意吧:
青蛙站在第 3 片荷叶上,它可以向第 4 片荷叶上跳 1 次,也可以向第 2 片荷叶上跳 1 次;跳到了第 2 片荷叶上,它可以向第 3 片荷叶上跳 1 次,也可以向第 1 片荷叶上跳 1 次;跳到了第 1 片荷叶上,它只能向第 2 片荷叶跳 1 次
- #include<stdio.h>
- int main()
- {
- int m, n, count = 0;
- printf("请输入荷叶的片数:");
- scanf("%d", &n);
- printf("请输入青蛙站在第几片荷叶上:");
- scanf("%d", &m);
- while(m != 1 && m != n)
- {
- count += 2; // 在其他的荷叶上可以向2个方向跳
- m--;
- }
- count++; // 在第1片和最后一片荷叶只能跳1次
- printf("%d\n", count);
复制代码
********************************
输入 5
输入 3
输出 5
|
|