专栏文章
Strange Reflex Game 官方题解
P14138题解参与者 8已保存评论 9
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 9 条
- 当前快照
- 1 份
- 快照标识符
- @minplunt
- 此快照首次捕获于
- 2025/12/02 06:17 3 个月前
- 此快照最后确认于
- 2025/12/02 06:17 3 个月前
设光线第 次反射的反射点为 ,,圆心为 。
,,可知所有入射角与所有反射角均相等,且等于 ,设为 。
相邻两个反射点与 连线的圆心角 ,可知所有符合上述定义的圆心角均相等,设为 。
问题转化为一个点初始位于 ,每次旋转圆心角大小为 ,旋转 次之后第一次回到 ,求 的数值。
由上述描述有,求最小的 满足 。
Subtask 1-3
手动模拟一下即可。
-
。
-
。
-
。
Subtask 4
因为分母是 ,则 ,直接枚举检查是否是 的倍数即可,复杂度 。
Subtask 5
我们发现 是 和 的最小公倍数除以 ,即
辗转相除法计算即可,复杂度 。
代码
CPP#include<bits/stdc++.h>
using namespace std;
long long tt,p,q,x,y;
int main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
cin>>tt;
for(int o=1;o<=tt;o++){
cin>>p>>q; x=2*p,y=360*q;
cout<<y/__gcd(x,y)-1<<"\n";
}
return 0;
}
相关推荐
评论
共 9 条评论,欢迎与作者交流。
正在加载评论...