ACdream1187-Rational Number Tree-模拟/找规律
找到规律模拟就可以了,用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-模拟/找规律的更多相关文章
- hdu4952 Number Transformation (找规律)
2014多校 第八题 1008 2014 Multi-University Training Contest 8 4952 Number Transformation Number Transform ...
- ZOJ 3622 Magic Number 打表找规律
A - Magic Number Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu Subm ...
- HDU1005 Number Sequence(找规律,周期是变化的)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1005 Number Sequence Time Limit: 2000/1000 MS (Java/O ...
- HDU 1391 number steps(找规律,数学)
Starting from point (0,0) on a plane, we have written all non-negative integers 0, 1, 2,... as shown ...
- Harmonic Number (II) 数学找规律
I was trying to solve problem '1234 - Harmonic Number', I wrote the following code long long H( int ...
- 2018.08.21 NOIP模拟 unlock(模拟+找规律)
unlock 描述 经济危机席卷全球,L国也收到冲击,大量人员失业. 然而,作为L国的风云人物,X找到了自己的新工作.从下周开始,X将成为一个酒店的助理锁匠,当然,他得先向部门领导展示他的开锁能力. ...
- HDU 6121 Build a tree(找规律+模拟)
Build a tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)To ...
- [HDOJ5573]Binary Tree(找规律,贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5573 这个题……规律暂时还找不到,先贡献两发TLE的代码吧,一个dfs一个状压枚举. #include ...
- LightOJ 1245 Harmonic Number (II)(找规律)
http://lightoj.com/volume_showproblem.php?problem=1245 G - Harmonic Number (II) Time Limit:3000MS ...
随机推荐
- Django 学习第三式
1.Django请求生命周期 两种情况:最终返回的是字符串 1.-> URL对应关系(匹配) -> 视图函数 -> 返回用户字符串 2.-> URL对应关系(匹配) -> ...
- 4《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—目录
我们已经学习过许多处理文件的Unix工具,现在是时候来学习目录了,也就是文件夹(图20).正如我们所见,许多在文件中的开发思想也适用于目录,但同样也有许多区别.
- CF613D Kingdom and its Cities 虚树
传送门 $\sum k \leq 100000$虚树套路题 设$f_{i,0/1}$表示处理完$i$以及其所在子树的问题,且处理完后$i$所在子树内是否存在$1$个关键点满足它到$i$的路径上不存在任 ...
- 对int array进行排序
今天再学习一些C#的基础知识,如对 Int Array进行排序: 你可以在控制台应用程序中,创建一个类别,它属性和2个构造函数: class Af { private int[] myVar; pub ...
- [Oracle]跨DBLINK的JOIN查询的数据库缓存问题15783452141
客户问到跨DBLINK,结合本地表和远端表的时候,数据在哪一边 的 Data Buffer 缓存. 测试的结果是:本地表在本地缓存,远端表在远端缓存. ####Testcase-0929-10 本地数 ...
- 【php增删改查实例】第十二节 - 数据删除功能
1.单条数据删除 思路:首先,需要也只能允许用户勾选一条数据,然后弹出一个确认框,问用户是否真的要删除?如果是,就把ID传递到PHP,然后写一个delete语句,通过ID去删除即可. 画好了按钮之后, ...
- .net core 中使用httpclient,HttpClientFactory的问题
Microsoft 在.Net Framework 4.5中引入了HttpClient,并且是在.NET服务器端代码中使用Web API的最常用方法.但它有一些严重的问题,如释放HttpClient对 ...
- LeetCode Pow(x, n) (快速幂)
题意 Implement pow(x, n). 求X的N次方. 解法 用正常的办法来做是会超时的,因为可能有21亿次方的情况,所以需要优化一下.这里用到了快速幂算法,简单来说就是将指数分解成二进制的形 ...
- kill方法
删除磁盘上的文件. 语法 Kill 路径名 所需的_路径名_参数是一个字符串表达式,指定要删除的一个或多个文件名. _Pathname_可能包括驱动器和目录或文件夹. 例子删除当前路径下的TXT文档 ...
- [LeetCode] 307. Range Sum Query - Mutable 解题思路
Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive ...