VIJOS-P1078 松鼠吃果子
洛谷 P2069 松鼠吃果子
https://www.luogu.org/problemnew/show/P2069
JDOJ 1256: VIJOS-P1078 松鼠吃果子
https://neooj.com:8082/oldoj/problem.php?id=1256
题目描述
有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跳吃到的果子)的标号是什么?
输入输出格式
输入格式:
一共两行,分别为N和m。(1<=m<=n<=200,并且满足能够跳到第m次)
输出格式:
一个数,即它吃的第m只果子的标号
输入输出样例
10 4
9
说明
注:吃掉的果子依次为3,8,4(回到下面重做第3跳),9(回到下面重做第4跳)
模拟题。
如果用数组模拟的话,单点删除实在是过于费劲。
然后想到了动态数组,但是模模糊糊地记忆动态数组不支持单点删除。
但是打数组模拟累死了。
看了题解加百度搜索之后,我发现了这么一个函数:a.erase();
括号里加地址,可以删除那个点的元素,其他元素落下来。
简直就是为了这个题而生的啊!!
所以就有了代码,一开始WA了几次,需要一些细节处理。
#include<cstdio> #include<vector> using namespace std; vector<int> a; int pos=1; int n,m; int main() { scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)a.push_back(i);for(int i=1;i<=m;i++){int t=i*i*i%5+1;pos+=t;if(pos>a.size())pos=t+1;if(i!=m)a.erase(a.begin()+pos-1);}printf("%d",a[pos-1]);return 0; }
首先理解好pos=t+1的意思,一开始的位置可不是0,是1,所以要把开始的1加上。
a.begin是指向vector中的第一个元素,这个位置就是1,所以要在后面把pos多加的1减去。
同理,最后输出也是如此。
转载于:https://www.cnblogs.com/fusiwei/p/11220359.html
VIJOS-P1078 松鼠吃果子相关推荐
- P2069 松鼠吃果子
题目描述 输入输出样例 输入 #1 10 4 输出 #1 9 说明/提示 注:吃掉的果子依次为 3,8,5(回到下面重做第 3 跳),9(回到下面重做第 4 跳). 写着感觉好别扭 感觉和字符串没啥关 ...
- 牛客练习赛59 小松鼠吃松果(优化dp二维偏序)
小松鼠吃松果 非常nicenicenice的一道题 首先考虑dpdpdp 容易想到按照时间来排序 然后定义dp[i]dp[i]dp[i]为考虑前iii个果子且吃掉第iii个的最大价值 那么每次都去前面 ...
- python利用pygame框架实现类似大鱼吃小鱼游戏 (松鼠吃松鼠) code from making games with python and pygame
本源码来自于 <Python和Pygame游戏开发指南> # Squirrel Eat Squirrel (a 2D Katamari Damacy clone) # By Al Swei ...
- 小松鼠吃瓜子,一口可以吃一个,两个,三个,请问有多少中方式吃完八颗瓜子?
这个是一道58的笔试题,和跳台阶问题类似,那么先讲一下跳台阶吧 那么同样的道理哈,当我在添加个3的时候,我们可以用下表表示 那么数学表达式就出来了 f(1)=1: f(2)=2: f(3)=4: .. ...
- 课文果园机器人这篇课文什么的果子_24课果园机器人教学设计
24课果园机器人教学设计 <果园机器人>文章的叙述方式也很有特色.文中果园机器人各种特性的介绍,是随果园生产需要的变化一步步体现出来的.水果丰收,果农忙不过来了,于是需要机器人帮忙;果园很 ...
- 课文果园机器人这篇课文什么的果子_24* 果园机器人教案1
共1课时 24* 果园机器人 小学语文 人教2001课标版 1教学目标 1.正确流利地朗读课文. 2.了解果园机器人的基本情况,引起对机器人的兴趣,培养独立阅读的能力. 3.激发学生对机器 ...
- 人天生就会除法,宾大最新研究:儿童啥都不学也能算出来
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 明敏 发自 凹非寺 量子位 | 公众号 QbitAI 你知道吗?其实 ...
- nyoj 55 懒省事的小明
懒省事的小明 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆 ...
- nyoj 55(优先队列)
懒省事的小明 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆 ...
最新文章
- 步步为营-44-窗体之间传值--观察者模式
- 35岁不是程序员的坎儿,看不清楚这件事才是!
- 网页全终端视频流媒体视频直播/点播播放器EasyPlayer.js实现WEB播放H265/HEVC视频方案介绍
- JXLS 2.4.0系列教程(四)——拾遗 如何做页面小计
- Nmap经常使用的场景用法
- js 实现图片旋转角度
- 1 Hadoop简介
- LeetCode 207. 课程表(拓扑排序)
- PHP文字转语音合成网源码 百度API开发
- FileFilter 遍历某个目录下文件名含有某个字符的文件
- 蔡先生论道大数据之六 : 打破对“精准性”的执着
- Dcmtk在PACS开发中的应用(基础篇) 第二章 打印影像(胶片) 作者 冷家锋
- 杭电 hdu 3343
- “欣喜”和“郁闷”交织的2006
- 财富自由之路-博多费舍尔
- 软件测试工程师面试技巧---问答篇
- [附源码]计算机毕业设计Node.js老薛男生服装网(程序+LW)
- AMiner背后的技术细节与挑战
- 区块链实验五 : 挖矿交易2
- Rabbit MQ安装与使用
热门文章
- 【detectron2】detectron2在ubuntu16.04系统下安装报错问题
- 比较两个文件夹找出不同的文件,并按路径复制到另外一个文件夹(shell练习记录1)
- HDMI DVI VGA显示Detailed Timing Parameters
- 联发科AioT平台处理器i300介绍
- puppy linux wifi6,Puppy官网
- puppy linux 教程,Puppy Linux 中文支持包制作方法
- JAVA实现雪花飘落动画效果
- 嵌入式学习笔记-uboot第一阶段分析
- php+mysql一个简单的图书管理系统设计思路
- 双功能交联剂丨Lumiprobe 磺基花青7二羧酸研究