AT1980 [AGC001B] Mysterious Light 题解
# 题意:
高桥 くん 有一个边长为 N 的三枚镜子构成的正三角形 , 顶点为 a, b, c. 他有一个超级步枪 , 放在 AB 段的P点上,使得 AP=X 。 并沿着平行于 BC 的方向发射一道光 。
光以直线传播 , 以镜子的形式反射 , 但是有一个特殊的地方 : 它会被自己的轨迹反射 , 当光回到步枪的时候 , 光被吸收 。 下面的图显示了当 n=5 ,x=2 时的光轨迹 。 求出光线的总长度 。
# 题解:
### 本体采用递归求解
图中射出的第一条线加上第二条线就等于线段 ab :
所以递归是可以不把第一条线和第二条线计算上。
新增加的为 $ 2\times (x-x\bmod y) $ 用一个计数变量计入可 ;
当到最后一步 $ 2-x \bmod y $ ,就增加了 $ 2 \times x-y $
# CODE:
#include <bits/stdc++.h>
using namespace std;
long long ans;
void gx( long long n, long long x )
{
if ( n % x == 0 )
{
ans += n * 2 - x;
return;
}else {
ans += (n - n % x) * 2;
gx( x, n % x );
}
}
int main()
{
long long n, x;
cin >> n >> x;
ans = n;
n -= x;
gx( max( n, x ), min( n, x ) );
cout << ans;
return(0);
}
AT1980 [AGC001B] Mysterious Light 题解的更多相关文章
- CodeChef-RNDRATIO Mysterious Ratio 题解
CodeChef-RNDRATIO Mysterious Ratio 题意简述: 对每个 \(1 \le i \le n\) ,随机选择一个数 \(A_i\) ,满足 \(L_i \le A_i \l ...
- AGC001[BCDE] 题解
A没意思 F太难 所以大概近期的AGC题解都是BCDE的 然后特殊情况再说 开始刷AGC的原因就是计数太差 没有脑子 好几个学长都推荐的AGC所以就开始刷了 = = 大概两天三篇的速度?[可能也就最开 ...
- zoj 4020 The 18th Zhejiang University Programming Contest Sponsored by TuSimple - G Traffic Light(广搜)
题目链接:The 18th Zhejiang University Programming Contest Sponsored by TuSimple - G Traffic Light 题解: 题意 ...
- RE:从零开始的AGC被虐(到)生活(不能自理)
RE:从零开始的AGC被虐(到)生活(不能自理) 「一直注视着你,似近似远,总是触碰不到.」 --来自风平浪静的明天 AtCoder Grand Contest 001 B: Mysterious L ...
- A*G#C001
AGC001 A BBQ Easy 贪心. https://agc001.contest.atcoder.jp/submissions/7856034 B Mysterious Light 很nb这个 ...
- 【AGC板刷记录】
这个帖子,是在自己学知识点累了的时候就看看\(AGC\)的题目来休息. 而且白天上课可以做( AGC-001 \(A\ BBQ Easy\) 考虑从小到大排,相邻两个取为一对. BBQ Easy #i ...
- AtCoder Grand Contest 001
B - Mysterious Light 题意:从一个正三角形边上一点出发,遇到边和已走过的边则反弹,问最终路径长度 思路:GCD 数据爆long long #pragma comment(linke ...
- 【AtCoder】AGC001
AGC001 A - BBQ Easy 从第\(2n - 1\)个隔一个加一下加到1即可 #include <bits/stdc++.h> #define fi first #define ...
- 【noip 模拟赛curse,light,maze】 题解
2018.10.16 总结:考的不好 原因: 1.考的时候没状态,读题读不进去 2.考的时候不仔细,该得分没得到 T1:curse 1.咒语 (curse.pas/c/cpp) [题目描述] 亮亮梦到 ...
随机推荐
- Python 函数常用类型
函数常用类型 无参数,无返回值 无参数,有返回值 有参数,无返回值 有参数,有返回值2.无参数,无返回值 无参数无返回值 def hello(): ...
- [atARC102F]Revenge of BBuBBBlesort
定义以$i$为中心(交换$p_{i-1}$和$p_{i+1}$)的操作为操作$i$ 结论1:若执行过操作$i$,则之后任意时刻都无法执行操作$i-1$或操作$i+1$ 当执行操作$i$后,必然有$p_ ...
- Java8-JVM内存区域划分白话解读
前言 java作为一款能够自动管理内存的语言,与传统的c/c++语言相比有着自己独特的优势.虽然我们无需去管理内存,但为了防范可能发生的异常,我们需要对java内部数据如何存储有一定了解,已应对突发问 ...
- 四、Zookeeper3.7安装
前文 一.CentOS7 hadoop3.3.1安装(单机分布式.伪分布式.分布式 二.JAVA API实现HDFS 三.MapReduce编程实例 Zookeeper安装 @ 目录 前文 Zooke ...
- Python+selenium之键盘和鼠标事件
- 『学了就忘』Linux权限管理 — 56、不可改变位权限(chattr)
目录 1.命令格式 2.查看文件系统属性chattr权限 3.示例 文件系统属性chattr权限,也叫不可改变位权限,该权限没有风险,但是他能限制root用户. 1.命令格式 [root@localh ...
- 快速入门上手JavaScript中的Promise
当我还是一个小白的时候,我翻了很多关于Promise介绍的文档,我一直没能理解所谓解决异步操作的痛点是什么意思 直到我翻了谷歌第一页的所有中文文档我才有所顿悟,其实从他的英文字面意思理解最为简单粗暴 ...
- 洛谷 P6060 - [加油武汉]传染病研究(数论)
洛谷题面传送门 一道不算太难的题,题解稍微写写吧( 首先根据约数个数和公式,对于一个 \(n=p_1^{\alpha_1}·p_2^{\alpha_2}·\cdots·p_m^{\alpha_m}\) ...
- BZOJ 3238 差异
BZOJ 3238 差异 看这个式子其实就是求任意两个后缀的 $ LCP $ 长度和.前面的 $ len(T_i)+len(T_j) $ 求和其实就是 $ n(n-1)(n+1)/2 $ ,这个是很好 ...
- 【豆科基因组】大豆(Soybean, Glycine max)经典文章梳理2010-2020
目录 2010年1月:大豆基因组首次发表(Nature) 2010年12月:31个大豆基因组重测序(Nature Genetics) 2014年10月:野生大豆泛基因组(Nature Biotechn ...