当前位置: 首页 > news >正文

打卡信奥刷题(2945)用C++实现信奥题 P5864 [SEERC 2018] Broken Watch

P5864 [SEERC 2018] Broken Watch

题目描述

一架 UFO 坠毁在地球上。外星人船长幸免于难,但他的手表没能逃过这一劫。

外星人的手表和人类的手表非常相似:手表有一个直径为30 mm\text{30 mm}30 mm的表盘,有三个表针,长度分别为A,BA, BA,BC (1000≤A,B,C≤15000)C \ (1000 \leq A, B, C \leq 15000)C(1000A,B,C15000)微米。然而,外星人有不同的时间单位:111分钟里有N (2≤N<232)N \ (2 \leq N < 2^{32})N(2N<232)秒。因此,表盘的边缘上有NNN个刻度而不是606060个。

手表的玻璃面板已经摔碎,表针也松了:它们可以独立地自由旋转。让三个表针分别指向任意刻度,以表针的尖端的顶点可以构成一个三角形(表针不共线的前提下)。

在救援来之前外星人闲着没事干,就思考起了这样一个问题:按上述方法构成的三角形中,有多少个三角形包含了表盘的中心(答案记为MMM)。(表盘中心在三角形的某一边上的三角形也要统计。)

输入格式

仅一行包含整数A,B,CA, B, CA,B,CNNN,四个数字之间用一个半角空格隔开。

输出格式

输出M mod 264M \bmod 2^{64}Mmod264的值。

输入输出样例 #1

输入 #1

15000 15000 15000 2

输出 #1

0

输入输出样例 #2

输入 #2

5000 10000 15000 3

输出 #2

6

输入输出样例 #3

输入 #3

15000 15000 15000 3

输出 #3

1

输入输出样例 #4

输入 #4

15000 15000 15000 4

输出 #4

4

输入输出样例 #5

输入 #5

15000 15000 15000 5

输出 #5

5

输入输出样例 #6

输入 #6

15000 15000 15000 6

输出 #6

14

C++实现

#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#defineullunsignedlonglongusingnamespacestd;#definech()getchar()#definepc(x)putchar(x)template<typenameT>inlinevoidread(T&x){intf;charc;for(f=1,c=ch();c<'0'||c>'9';c=ch())if(c=='-')f=-f;for(x=0;c<='9'&&c>='0';c=ch())x=x*10+(c&15);x*=f;}template<typenameT>inlinevoidwrite(T x){staticcharq[64];intcnt=0;if(!x)pc('0');if(x<0)pc('-'),x=-x;while(x)q[cnt++]=x%10+'0',x/=10;while(cnt--)pc(q[cnt]);}intmain(){ull A,B,C,N;read(A),read(B),read(C),read(N);if(N==2)puts("0");else{ull cnt=(A==B)+(B==C)+(A==C);cnt=(cnt==3?1:cnt==1?3:6);if(N&1){N=(N+1)>>1;A=N-1,B=N,C=N*2-1;if(A&1)B>>=1;elseA>>=1;}else{N=N>>1;A=N-1,B=N,C=N+4;}if(A%3==0)A/=3;elseif(B%3==0)B/=3;elseC/=3;write(A*B*C*cnt),pc('\n');}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.cnnetsun.cn/news/1262037.html

相关文章:

  • 丝杆升降机如何正确选型?参数、工况、电机匹配一篇讲透
  • MATLAB R2021B环境下基于Takagi-Sugeno-Kang模糊神经网络的时间序列...
  • LeetCode102.二叉树层序遍历
  • 霸王餐券预扣库存场景下,如何防止同一用户多设备并发“薅羊毛”
  • 力扣解题-200. 岛屿数量
  • 国内代理 IP 的类型:住宅 IP、机房 IP、移动 4G/5G IP 区别
  • AI 内容导出乱、格式崩、公式变?我开发了这只鸭子帮我全解决了
  • 智能楼道灯控制器(有完整资料)
  • AI安全应用实战复盘:一场2小时的深度交流,我们聊了什么?
  • esp网络时钟
  • 【无线通信】基于matlab统计信道的低复杂度旋转和位置优化为6D可移动天线无线通信【含Matlab源码 15160期】
  • 2026年,一周就能背完的web前端八股文!(春招最新附答案)!
  • 根据文章举报数量确定推荐
  • NineData 社区版 V4.10.0 发布:新增 9 条异构数据库复制链路,DevOps 能力再升级!
  • Redis知识点
  • 简单 的部分背包问题(贪心算法)
  • Kmeans聚类与肘部法确定聚类个数:Matlab实战
  • COMSOL 激光烧蚀3D体热源引力场温度场仿真探索
  • 使用Springboot实现MQTT通信
  • 多智能体事件触发一致性
  • 类内部方法内 写创建对象
  • GraphRAG 完全指南
  • 非计算机专业如何顺利转行网络安全领域?_如何转行网络安全工程师
  • 基于自适应PI的构网型变流器预同步控制策略复现报告
  • 【跨模态一致性增强模块+开源代码】定位与验证:一个提升深度伪造检测的双流网络
  • 如何从bode图得到单位阶跃的趋势
  • 大数据领域 ETL 中的元数据管理策略
  • 企业微信外部客户群自动化管理:建群+群发+踢人一体化
  • 2200 行 Python 桌面应用拆解:架构设计与关键实现细节(周报收取统计)
  • 开源OpenClaw部署指南