题解 P2069 【松鼠吃果子】
看到楼下dalao用的都是什么动态数组链表,非常高深,本蒟蒻也只能贡献一个垃圾题解。
#include<bits/stdc++.h>
using namespace std;
int n,m,id[202],now=1;
int main(){
cin>>m>>n;
for(int i=1;i<=m;i++)
id[i]=i;//编号先初始化
for(int i=1;i<=n;i++){
int jump=i*i*i%5+1;//计算跳多远
now+=jump;
if(now>m-i+1)now=jump+1;//如果跳出界就要从最下面跳起
if(i!=n)//最后一次不吃,因为要输出编号
for(int j=now+1;j<=m-i+1;j++)
id[j-1]=id[j];//把后面的东西移上来
}
cout<<id[now];//输出编号
return 0;
}