noj算法 踩气球 回溯法
描述:
六一儿童节,小朋友们做踩气球游戏,气球的编号是1~100,两位小朋友各踩了一些气球,要求他们报出自己所踩气球的编号的乘积。现在需要你编一个程序来判断他们的胜负,判断的规则是这样的:如果两人都说了真话,数字大的人赢;如果两人都说了假话,数字大的人赢;如果报小数字的人说的是真话而报大数字的人说谎,则报小数字的人赢(注意:只要所报的小数字是有可能的,即认为此人说了真话)。
输入:
输入为两个数字,0 0表示结束;
输出:
输出为获胜的数字。
输入样例:
36 62 49 343 0 0
输出样例:
62 49
代码:
#include <iostream> #include <string.h> #include <stdio.h>using namespace std; int f1=0,f2=0;void dfs(int n,int m,int f) {if(f1) return;if(n==1&&m==1){f1=1;return;}if(m==1)f2=1;while(f>1){if(n%f==0) dfs(n/f,m,f-1);if(m%f==0) dfs(n,m/f,f-1);f--;} }int main() {int n,m=0;while(cin>>n>>m){if(n==0&&m==0) break;int t=0;if(m>n){t=n;n=m;m=t;}f1=0;f2=0;dfs(n,m,100);if(f1==0&&f2) cout<<m<<endl;else cout<<n<<endl;}return 0; }
转载于:https://www.cnblogs.com/y1040511302/p/9733398.html
noj算法 踩气球 回溯法相关推荐
- 0x08算法设计与分析复习(二):算法设计策略-回溯法2
参考书籍:算法设计与分析--C++语言描述(第二版) 算法设计策略-回溯法 子集和数 问题描述 已知n个不同的正数wi(0≤i≤n−1)的集合,求该集合的所有满足条件的子集,使得每个子集中的正数之和等 ...
- 4.Python算法之试探算法思想(回溯法)
1.什么是试探算法? 2.试探算法的解题的基本步骤 3.试探算法的思想 4.试探算法适合的问题 5.试探算法解决"八皇后"的问题 1.什么是试探算法? 试探算法也叫回溯法,试探 ...
- 五大常用算法之四:回溯法
http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741376.html 1.概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试 ...
- 【算法思想:回溯法】回溯算法入门级详解
回溯法是一种非常重要的算法思想,在大厂面试中频繁出现,所以做了一个笔记,记录了一下. 回溯算法与深度优先遍历 以下是维基百科中「回溯算法」和「深度优先遍历」的定义. 回溯法 采用试错的思想,它尝试分步 ...
- 算法笔记之回溯法(一)——溯洄从之,道阻且长;溯游从之,宛在水中央。
回溯法理论基础 回溯法是一种搜索算法,从本质上来说,回溯法是一种穷举法,穷尽其所有可能而举其可行解:尽管回溯法有剪枝等操作,但也只是去除一些明显不可行的部分,仍改变不了回溯法暴力搜索的本质. 虽然回溯 ...
- 回溯法采用的搜索策略_五大常用算法之四:回溯法
1.概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就"回溯"返回,尝试别的路径.回溯法是一种选优搜索法,按选优条件向 ...
- 0027算法笔记——【回溯法】回溯法与装载问题
1.回溯法 (1)描述:回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标.但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法. (2)原 ...
- java 符号三角形_算法java实现--回溯法--符号三角形问题
符号三角形问题的java实现(回溯法) 具体问题描述以及C/C++实现参见网址 http://blog.csdn.net/liufeng_king/article/details/8764319 /* ...
- NOJ 1142.踩气球
1142.踩气球 时限:1000ms 内存限制:10000K 总时限:3000ms 描述 六一儿童节,小朋友们做踩气球游戏,气球的编号是1-100,两位小朋友各踩了一些气球,要求他们报出自己所踩气球 ...
- 算法笔记之回溯法(2)
着色问题 问题分析 假设地图共有7个区域,分别是A/B/C/D/E/F/G,对上面顺序进行编号,每个区域用一个结点表示,相邻的区域有连线,那么地图就转化成一个无向连接图. 算法设计 定义问题的解空间. ...
最新文章
- c hello world_C 字符串
- 二值mask图像 + RGB原图 生成可视化分割结果; 从二值mask获取分割轮廓点
- c++中的 单例模式(singleton)和双检测锁(Double-Checked Locking)
- MySQL -Naivacat工具与pymysql模块
- 【职场】公子龙:在工作方向的选择上从设限到不设限
- Git——git push 错误[ ! [rejected] master - master (non-fast-forward)]解决方案
- 2020年阴阳师服务器维护,2020阴阳师2月19日更新官方公告及内容汇总
- Last-Modify、ETag、Expires和Cache-Control(转载)
- 分布式存储 FastDFS-5.0.5线上搭建
- GAN 生成mnist数据
- 携程中转机票竟然相差23小时
- 用计算机教学体育,浅谈计算机在体育教学中的应用
- ios安卓模拟器_同步器使用教学【区分安卓和iOS】
- 卡耐基梅陇大学计算机学院名人,卡内基梅隆大学_美国计算机专业排名前十
- Phonetic symbol 单元音 - 长元音 -- ɜː (新) / ə: (旧) 与 ɔː
- 卸载Google Drive 硬盘-必须退出程序才能卸载
- 【搜索】单词方阵 luogu-1101
- python之信用卡ATM(第五天)
- 计算机无法打开声音,驱动正常但是电脑没声音怎么办-电脑自学网
- 自学javase回顾(9/10)