SYCOJ798Biorhythms
https://oj.shiyancang.cn/Problem/798.html
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 21252;
ll a[4],m[4];
ll M;
ll ex_gcd(ll a,ll b,ll &x,ll &y)
{
if(b==0){x=1,y=0;return a;}
ll d=ex_gcd(b,a%b,x,y);
ll temp=x;x=y;y=temp-a/b*y;
return d;
}
ll crt(ll n)
{
ll i,Mi,xi,yi,d,Ans=0;
M=1;
for(i=1;i<=n;i++)M*=m[i];
for(i=1;i<=n;i++)
{
Mi=M/m[i];d=ex_gcd(Mi,m[i],xi,yi);
Ans=(Ans+Mi*a[i]*xi)%M;
}
return (Ans%M+M)%M;//最小整数解,因为gcd为1所以直接M就可以了
}
int main()
{
ll k,t=0;
m[1]=23,m[2]=28,m[3]=33;
while(~scanf("%lld%lld%lld%lld",&a[1],&a[2],&a[3],&k),a[1]!=-1||a[2]!=-1||a[3]!=-1||k!=-1)
{
ll ans=crt(3);
while(ans<=k) ans+=M;//要超过k才行
printf("Case %lld: the next triple peak occurs in ",++t);
cout<<ans-k<<" days.\n";
}
return 0;
}
特殊情况的中国剩余定理,直接构造,因为gcd为1,并且在模M下具有唯一解,所以正常的模M就可以了。
但是要大于k,所以要到k之后。
SYCOJ798Biorhythms的更多相关文章
随机推荐
- 车载以太网第二弹|测试之实锤-AVB测试实践
背景 AVB(Audio Video Bridging)音视频桥接,是由IEEE 802.1标准委员会的IEEE AVB任务组制定的一组技术标准,包括精确时钟同步.带宽预留和流量调度等协议规范,用于构 ...
- aha
欢迎使用 MWeb MWeb 是专业的 Markdown 写作.记笔记.静态博客生成软件,目前已支持 Mac,iPad 和 iPhone.MWeb 有以下特色: 软件本身: 使用原生的 macOS 技 ...
- CF116B Little Pigs and Wolves 题解
Content 有一张 \(n\times m\) 的地图,其中,\(\texttt{P}\) 代表小猪,\(\texttt{W}\) 代表狼.如果狼的上下左右有一头以上的小猪,那么它会吃掉其中相邻的 ...
- C++ 11新特性:std bind 原理简单图解(转载)
本文解释了bind 是如何工作的.为了清晰,我对图中的语法作了一些简化(例如,省略函数调用操作符的参数类型),并且简化了 bind 的实现. bind 可以用来将用户提供的需要一个参数的函数转换成不需 ...
- 电压-电流转换(一):4-20mA电流环
在仪表电路中,直流信号通常用作物理测量值的模拟表示,例如温度.压力.流量.重量和运动.最常见的是,直流电流信号优先于直流电压信号使用,因为在从电源(测量设备)到负载(指示器.记录仪或控制器)的整个串联 ...
- Linux(centos)使用shell脚本停止启动jar包
在jar包目录下创建一个文件,后缀为 .sh #!/bin/bash # stop service pid=`ps -ef | grep "jar包名字" | grep -v &q ...
- Vue父子组件通信(父级向子级传递数据、子级向父级传递数据、Vue父子组件存储到data数据的访问)
Vue父子组件通信(父级向子级传递数据.子级向父级传递数据.Vue父子组件存储到data数据的访问) 一.父级向子级传递数据[Prop]: ● Prop:子组件在自身标签上,使用自定义的属性来接收外界 ...
- 【LeetCode】1033. Moving Stones Until Consecutive 解题报告(C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 脑筋急转弯 日期 题目地址:https://leet ...
- 【LeetCode】409. Longest Palindrome 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:字典统计次数 方法二:HashSet 方法三 ...
- 【九度OJ】题目1087:约数的个数 解题报告
[九度OJ]题目1087:约数的个数 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次 ...