Vijos_P1078_松鼠吃果子_解题报告_C
来源:互联网 发布:linux远程连接 编辑:程序博客网 时间:2024/04/30 19:55
先贴出题目出处
简单题
-------------------------------------------------------------------------------------题目----------------------------------------------------------------------------------------------
描述 Description
有N个一种松鼠喜欢吃的果子由下向上串排成一列,并标号1,2,...N。一只松鼠从最下果子开始向上跳,并且第i次
跳可以一次跳过 i*i*i 除以5的余数+1个果子(=i*i*i%5+1),并把脚下的果子吃了,如果上面有果子,在重力作用下,都将向下掉下
一格。如第1次跳从第一个果子上跳过1*1*1%5+1=2个果子,可跳到第3个果子上,并把第3个果子吃了;第2次从第4个果子上(落在
原来第三个果子位置)跳过2*2*2%5+1=4个到第8个果子上,并把第8个吃了;如此...。
当然,总有一次松鼠会跳出这串果子的最前面,设为每K次,它吃不到任何果子了。这时它回到最下面的果子上,重做它的第
K次跳,以求吃到果子。如此,问它吃的第m只果子(即第M跳吃到的果子)的标号是什么?
输入格式 Input Format
一共两行,分别为N和m。(1<=m<=n<=200,并且满足能够跳到第m次)
输出格式 Output Format
一个数,即它吃的第m只果子的标号。
样例输入 Sample Input
10
4
样例输出 Sample Output
9
-------------------------------------------------------------------------------------代码----------------------------------------------------------------------------------------------
C语言:
#include <stdio.h>#define MAX 210 //定义数组的大小int fruit[MAX]; int m;//参数分别为:指向果子数组的指针fruit、果子总数Nint fun(int *fruit, int N);int main(void){int N;int i;scanf("%d %d", &N, &m);fruit[0] = 0;//将第一个元素置零.注意:即从下标1开始//初始化数组fruitfor (i = 1; i <= N; i++){fruit[i] = i;}printf("%d\n",fun(fruit, N));return 0;}int fun(int *fruit, int N){int j;//循环变量int i = 1;//存储第m次跳跃的变量,初始化为第一次int jump_num;//跳过的果子数int fruit_value;//当是最后一次的时候,用此变量记录果子值int now_position = 1;//记录当前所在的果子位置for ( ; i <= m; i++){jump_num = i * i * i % 5 + 1;//计算跳跃的果子数now_position = jump_num + now_position;//记录当前所在的果子位置//判断此位置是否已跳出if (fruit[now_position] == 0) {now_position = 1 + jump_num; //若是跳出则从头开始跳}//检测是否最后一次if (m == i) {fruit_value = fruit[now_position];//若是则保存当前位置的值}for (j = now_position ; j <= N; j++){fruit[j] = fruit[j+1];}N -= 1;//因为吃了一个果子,则需要将果子总数减一}return fruit_value;}
- Vijos_P1078_松鼠吃果子_解题报告_C
- 【合并果子】解题报告
- 合并果子解题报告
- Vijos_P1001_谁拿了最多奖学金_解题报告_C
- P1097合并果子解题报告
- 1063合并果子【解题报告】
- [NOIP2004] 合并果子-解题报告
- 【吃西瓜】解题报告
- codevs 1766 装果子 二分 解题报告
- hdu吃糖果解题报告
- 猜想_解题报告
- P1196吃糖果游戏解题报告
- hdu oj 1205: 吃糖果 解题报告
- 【C++解题报告】猴子吃枣问题
- hdu_2039_三角形_解题报告
- 传球游戏_解题报告
- 合并果子解题分析
- 2013.6.15吃果子问题
- Windows XP 如何查看计算机开关机记录
- 常用的视频编解码器
- ZOJ 2704 括号匹配栈
- 正整数高精度运算
- Linux 下简单TCP通信程序
- Vijos_P1078_松鼠吃果子_解题报告_C
- 机器学习中的算法(1)-决策树模型组合之随机森林与GBDT
- 昨天在洛阳,也就是阴历十月一日,晚上有在自家门前烧纸的,有点好奇,今天知道了
- 微软面试100题之三 求子数组的最大和
- xml的操作
- Silverlight动态添加DataGrid列
- android资源访问
- ASP.NET验证控件之RequiredFieldValidator
- 淘宝技术发展(Java时代:脱胎换骨)