比赛 2025.5.24 评测结果 AAAAAAAAAAAAAAATTTTT
题目名称 兔农 最终得分 75
用户昵称 djyqjy 运行时间 10.112 s
代码语言 C++ 内存使用 3.67 MiB
提交时间 2025-05-24 11:12:44
显示代码纯文本
#include<bits/stdc++.h>
#define int long long
using namespace std;
inline int re()
{
    int f=1,num=0;
    char c=getchar();
    while(c<'0'||c>'9'){if(c=='-') f=-1;c=getchar();}
    while(c>='0'&&c<='9') num=num*10+c-'0',c=getchar();
    return num*f;
}
int n,k,p;
int a=1,b=1,ak=1,bk=1;
signed main()
{
    freopen("noi2011_rabbit.in","r",stdin);
    freopen("noi2011_rabbit.out","w",stdout);
    n=re();k=re();p=re();
    for(int i=3,c,ck,t;i<=n;i++)
    {
        t=(bool)((ak+bk)%k==1);
        c=a+b-t;ck=ak+bk-t;
        a=b%p;b=c%p;
        ak=bk%k;bk=ck%k;
    }
    printf("%lld",b);
    return 0;
}