算法竞赛入门经典训练指南 例题1-19 计算器谜题 Calculator Conundrum uva11549
来源:互联网 发布:杭州莱茵矩阵国际 编辑:程序博客网 时间:2024/06/12 05:06
题目:https://vjudge.net/problem/UVA-11549
思路:利用Floyd判圈法退出周期。
Floyd判圈法(很像快慢指针的思路)——一个人速度是另一个人的两倍,那么如果道路是直的,则两人始终不相遇;如果道路上有环,那么跑的快的一定会追上跑的慢的(也就是套圈)。
注意只有跑的快的经历了周期中的所有情况。
代码:c++
#include <cstdio>#include <iostream>#include <algorithm>using namespace std;long long cut(long long a, int n){ char s[110] = { 0 }; sprintf(s, "%lld", a); s[n] = '\0'; long long ans; sscanf(s, "%lld", &ans); return ans;}int main(){ int T; cin >> T; while (T--) { int n; long long k; scanf("%d%lld", &n, &k); long long slow = k, fast = k; long long ans = k; do { slow = cut(slow * slow, n); fast = cut(fast * fast, n); ans = max(ans, fast); fast = cut(fast * fast, n); ans = max(ans, fast); } while (slow != fast); printf("%lld\n", ans); } return 0;}
阅读全文
0 0
- 算法竞赛入门经典训练指南 例题1-19 计算器谜题 Calculator Conundrum uva11549
- uva11549 - Calculator Conundrum(计算机谜题)
- 算法竞赛入门经典——训练指南 例题2
- 算法竞赛入门经典训练指南 例题1-15 网络 Network UVALive 3902
- UVa11549 - Calculator Conundrum(Floyd判圈算法)
- Calculator Conundrum UVa11549
- UVA11549 Calculator Conundrum
- uva11549 - Calculator Conundrum
- 例题1.19 计算器谜题 UVa11549
- 算法竞赛入门经典训练指南-P4例题3 分金币问题总结
- 算法竞赛入门经典训练指南
- 算法竞赛入门经典训练指南(2)
- 《算法竞赛入门经典训练指南》pdf
- 算法竞赛入门经典--训练指南 笔记
- 例题1.19 老式计算器 Calculator Conundrum UVA
- 算法竞赛入门经典训练指南(1)
- UVa11549 - Calculator Conundrum (Floyd判圈法)
- uva11549 Calculator Conundrum【解法一】
- SSM下的分页
- Android开发学习笔记:浅谈显示Intent和隐式Intent
- Scrum敏捷开发笔记
- WebStorm—scss转css配置
- [leetcode]94. Binary Tree Inorder Traversal@Java解题报告
- 算法竞赛入门经典训练指南 例题1-19 计算器谜题 Calculator Conundrum uva11549
- 卡顿优化
- springboot页面资源,静态资源读取
- [转]c#中DateTime.Now函数的使用详解
- C语言基础练习
- EXTJS6.2 使用弹出确认框窗口Ext.Msg.show
- python找出列表间隐含的关联关系以及重复模式
- OpenGL -- DDS 加载
- PAT-A-https://www.patest.cn/contests/pat-a-practise/1029