UVA 10077 The Stern-Brocot Number System
2017-09-20 19:12
417 查看
题意:
题目:给你一颗分数组成的二叉树,初始值是1/1,两边的边界分别是0/1与1/0,然后递归建立子树节点,每个子树的节点值为两边的边界值的分子之和比上分母之和,然后将新的值也加入边界值。
用二分搜索法来写
#include <iostream> using namespace std; void find(int lx,int ly,int rx,int ry,int X,int Y) { if(lx+rx==X&&ly+ry==Y)//若找到该分数 return; if((lx+rx)*Y>(ly+ry)*X)//比较所找分数与当前数的大小,若所找分数大,则输出“L”,向左查找,右侧边界值更新 { cout<<"L"; find(lx,ly,lx+rx,ly+ry,X,Y);//递归查找 } else//反之若分数小于该数,输出“R”,向右查找,左侧边界值更新 { cout<<"R"; find(lx+rx,ly+ry,rx,ry,X,Y); } } int main() { int m,n; while(cin>>m>>n) { if(m==1&&n==1) break; else { find(0,1,1,0,m,n);//传入初始值 cout<<endl; } } return 0; }
相关文章推荐
- UVa Problem Solution: 10077 - The Stern-Brocot Number System
- UVa 10077 - The Stern-Brocot Number System
- uva 10077 - The Stern-Brocot Number System
- UVa 10077 The Stern-Brocot Number System (数学)
- uva 10077 The Stern-Brocot Number System
- UVa Problem 10077 The Stern-Brocot Number System (Stern-Brocot 代数系统)
- UVa 11651 Krypton Number System DP + 矩阵快速幂
- (挑战编程_5_7)The Stern-Brocot Number System
- UVA 11651 Krypton Number System(矩阵加速DP)
- UVA11651 Krypton Number System【矩阵快速幂】
- UVA 11651 - Krypton Number System(DP+矩阵快速幂)
- 10077 - The Stern-Brocot Number System
- 110507 The Stern-Brocot Number System
- The Stern-Brocot Number System(排序二叉树)
- The Stern-Brocot Number System(排序二进制)
- uva 11651 - Krypton Number System(矩阵快速幂)
- Lighting System Design UVA - 11400 (线性dp)
- System.Globalization.NumberFormatInfo 的 10个方法、30个属性和1个构造函数
- Number Sequence uva+二分
- System.Globalization.NumberFormatInfo 的 30个属性、1个构造函数和10个方法