Calculator Conundrum UVa11549
来源:互联网 发布:签名设计免费版软件 编辑:程序博客网 时间:2024/05/16 10:41
题目描述:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=460&page=show_problem&problem=2544
本题难点在于判断是否存在循环,一种可行方法是使用STL中的set,但是空间开销有点大,同事set的插入和查找也花费
一定时间,这里使用最基本的追击问题原理,可以在常数开销下解决循环判断问题。
如果两个速度不同的人在圆形跑道上同时同起点跑,则两人必定会再相遇。基于此,
对于每个k,使用另外两个与之相同的变量,称为k1、k2,k1每次只计算一次平方,k2每次计算两次平方,这样k1和k2总有
相等的一次,至此算法停止。具体如下:
next(int n, int k) //对k,计算屏幕出现的数字k的平方的高n位
int main()
{
int t;
cin >> t;
while ( t -- )
{
int n, k;
cin >> n >> k;
int k1 = k2 = k;
int ans = k;
do {
k1 = next ( n, k1);
k2 = next(n ,k2); ans = max( ans, k2);
k2 = next(n, k2), ans = max(ans, k2);
}while( k1!= k2)
cout << ans << endl;
}
return 0;
}
- Calculator Conundrum UVa11549
- UVA11549 Calculator Conundrum
- uva11549 - Calculator Conundrum
- UVa11549 - Calculator Conundrum (Floyd判圈法)
- uva11549 Calculator Conundrum【解法一】
- uva11549 Calculator Conundrum【解法二】
- uva11549 - Calculator Conundrum(计算机谜题)
- UVa11549 - Calculator Conundrum(Floyd判圈算法)
- 算法竞赛入门经典训练指南 例题1-19 计算器谜题 Calculator Conundrum uva11549
- CALCULATOR CONUNDRUM
- Calculator Conundrum
- Uva-11549 - Calculator Conundrum
- UVA 11549 Calculator Conundrum
- Uva-11549-Calculator Conundrum
- uva 11549 - Calculator Conundrum
- UVA 11549 Calculator Conundrum
- uva 11549 CALCULATOR CONUNDRUM
- UVA 11549 Calculator Conundrum
- Android真机调试方法的演进
- 读文件所有内容
- 母婴达人
- 求和2
- attach source添加源码
- Calculator Conundrum UVa11549
- 51汇编语言助记符英文全称
- 跟我一起玩Win32开发(20):浏览文件夹
- 关于数组的用法
- RedHat 6.2 中的 samba 服务端配置 方法
- 让科研人员有更多时间安心工作(沈保根,中科院院士)
- struts2的default-action-ref 的一个“BUG”(其实并非bug)
- error: Unable to add bridge ens2f0 port vnet0: Operation not supported
- ajax实现分页