找到规律模拟就可以了,用DFS模拟很简洁,用循环模拟比较直观(大概吧)

注意输入输出用%llu,1ULL<<64=0!被这几个小问题卡了好久

#include <cstdio>
#include <algorithm>
#include <cstring> using namespace std; int T;
unsigned long long n,p,q;
unsigned long long path;
int lev; int main()
{
scanf("%d",&T);
for(int kase=;kase<=T;kase++)
{
int op = ;
scanf("%d",&op);
if(op == )
{
scanf("%llu",&n);
lev=;path=; while((1ULL<<lev) <= n)
{
lev++;
if(lev==)break;
}
lev--; path = n - (1ULL<<lev);
p=;q=;
//printf("lev=%lld path=%lld\n",lev,path); for(int i=lev-;i>=;i--)
{
if(path & (1ULL<<i)) p=p+q;
else q = p+q;
}
printf("Case #%d: %llu %llu\n",kase,p,q);
}
else if(op == )
{
scanf("%llu%llu",&p,&q); unsigned long long tp = p,tq = q;
lev=;path=;
while(true)
{
//printf("%llu %llu\n",p,q);
if(p==1ULL && q==1ULL) break; if(p > q) p -= q;
else q -= p;
lev++;
} for(int i=;i<lev;i++)
{
if(tp > tq)
{
path += (1ULL<<i);
tp -= tq;
}
else
tq -= tp;
}
//printf("lev=%lld path=%lld\n",lev,path);
printf("Case #%d: %llu\n",kase,path+(1ULL<<lev));
}
}
}

ACdream1187-Rational Number Tree-模拟/找规律的更多相关文章

  1. hdu4952 Number Transformation (找规律)

    2014多校 第八题 1008 2014 Multi-University Training Contest 8 4952 Number Transformation Number Transform ...

  2. ZOJ 3622 Magic Number 打表找规律

    A - Magic Number Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Subm ...

  3. HDU1005 Number Sequence(找规律,周期是变化的)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1005 Number Sequence Time Limit: 2000/1000 MS (Java/O ...

  4. HDU 1391 number steps(找规律,数学)

    Starting from point (0,0) on a plane, we have written all non-negative integers 0, 1, 2,... as shown ...

  5. Harmonic Number (II) 数学找规律

    I was trying to solve problem '1234 - Harmonic Number', I wrote the following code long long H( int  ...

  6. 2018.08.21 NOIP模拟 unlock(模拟+找规律)

    unlock 描述 经济危机席卷全球,L国也收到冲击,大量人员失业. 然而,作为L国的风云人物,X找到了自己的新工作.从下周开始,X将成为一个酒店的助理锁匠,当然,他得先向部门领导展示他的开锁能力. ...

  7. HDU 6121 Build a tree(找规律+模拟)

    Build a tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)To ...

  8. [HDOJ5573]Binary Tree(找规律,贪心)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5573 这个题……规律暂时还找不到,先贡献两发TLE的代码吧,一个dfs一个状压枚举. #include ...

  9. LightOJ 1245 Harmonic Number (II)(找规律)

    http://lightoj.com/volume_showproblem.php?problem=1245 G - Harmonic Number (II) Time Limit:3000MS    ...

随机推荐

  1. TCP/IP协议---UDP协议

    UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都产生一个UDP数据报,并组装成一份待发送的IP数据报.UDP数据报是要依赖IP数据报传送的.UDP协议并不可靠,它不能保证发出去的包会被目 ...

  2. [Oracle]数据库的Control File 取Dump后的样例

    [Oracle]数据库的Control File 取Dump后的样例: 片段截取-------------------------------(size = 40, compat size = 40, ...

  3. CF1153F Serval and Bonus Problem FFT

    CF1153F Serval and Bonus Problem 官方的解法是\(O(n ^ 2)\)的,这里给出一个\(O(n \log n)\)的做法. 首先对于长度为\(l\)的线段,显然它的答 ...

  4. Jlink使用技巧之烧写SPI Flash存储芯片

    前言 大多数玩单片机的人都知道Jlink可以烧写Hex文件,作为ARM仿真调试器,但是知道能烧写SPI Flash的人应该不多,本篇文章将介绍如何使用JLink来烧写或者读取SPI Flash存储器, ...

  5. browserify运行原理分析

    目前对于前端工程师而言,如果只针对浏览器编写代码,那么很简单,只需要在页面的script脚本中引入所用js就可以了. 但是某些情况下,我们可能需要在服务端也跑一套类似的逻辑代码,考虑如下这些情景(以n ...

  6. Zabbix监控系统部署:基本功能测试

    1. 概述2. 登陆2.1 登陆账号密码2.1 设置中文语言环境3. 创建用户3.1 用户创建入口3.2 添加用户信息3.3 用户报警媒介3.4 用户权限4. 创建监控主机4.1 添加一台监控主机4. ...

  7. Jmeter(三十)_TimeShift函数在JSR223中的使用

    今天学习一下TimeShift函数在JSR223中的使用方法. 关联之前的一篇时间戳文章:Jmeter(十二)_打印时间戳 首先,创建线程组,在线程组下面创建一个JSR223采样器 选择Groovy语 ...

  8. C语言----数据类型(基础篇一)

    C语言的入门程序模板 #include <stdio.h> /*使用或者包含系统里面的程序*/ main() /*程序入口点*/ { /*起点*/ +; /*叫计算机执行的指令*/ } / ...

  9. 分布式监控系统Zabbix-3.0.3-完整安装记录 - 添加shell脚本监控

    对公司的jira访问状态进行监控,当访问状态返回值是200的时候,脚本执行结果为1:其他访问状态返回值,脚本执行结果是0.然后将该脚本放在zabbix进行监控,当非200状态时发出报警.jira访问状 ...

  10. vue项目环境搭建

    安装node.js $ npm install -g vue-cli $ vue init webpack my-project ?Project name ?Project description ...