题解 P2069 【松鼠吃果子】

· · 题解

全模拟,时间复杂度O(m)

#include<cstdio>
using namespace std;
int n,m,jump,now=1;
int main(){
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;i++){
        jump=(i*i*i)%5+1;//确定跳跃步数
        now+=jump;//跳至该果子上
        if(now>n) now=1,now+=jump;//上天了就下来
        else if(i<m) now++;//若非最后一跳,向上一格
    }
    printf("%d",now);
    return 0;
}

emmm