4745 跑步

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
long long f[100005];
int a(int x)
{
 return (3*x*x-x)/2;
}
int main()
{
 int n,p;
 cin>>n>>p;
 f[0]=1;
 for(int i=1;i<=n;i++)
  for(int j=1;;j++)
  {
   int x=a(j),y=a(-j);
   if(x<=i)
    f[i]=((f[i]+(j&1?1:-1)*f[i-x])%p+p)%p;
   if(y<=i)
    f[i]=((f[i]+(j&1?1:-1)*f[i-y])%p+p)%p;
   if(x>i||y>i)break;
  }
 cout<<f[n]<<endl;
 return 0;
}
相关推荐
wolfseek9 分钟前
opencv模版匹配
c++·人工智能·opencv·计算机视觉
x70x8010 分钟前
git仓库基本使用
git·算法·编程
仰泳的熊猫38 分钟前
LeetCode:773. 滑动谜题
数据结构·c++·算法·leetcode
夏鹏今天学习了吗40 分钟前
【LeetCode热题100(50/100)】岛屿数量
算法·leetcode·职场和发展
墨染点香44 分钟前
LeetCode 刷题【134. 加油站】
算法·leetcode·职场和发展
千里马-horse1 小时前
Boost.Iostreams 简介
开发语言·c++·boost
yi碗汤园2 小时前
【一文了解】八大排序-冒泡排序、选择排序
开发语言·前端·算法·unity·c#·1024程序员节
二倍速播放2 小时前
贪心算法 with Gemini
算法·贪心算法
陌路202 小时前
C17值类别概念
开发语言·c++
shark_dev2 小时前
C++新特性—— 智能指针(shared_ptr/unique_ptr/weak_ptr)
c++