南阳oj-----汉诺塔(三)(stack)
测试请点击此处
//该题可利用栈的先进后出的性质来进行处理解决
用到的头文件和函数如下:
<stack>//包含栈的各种操作函数
stack<int> s;//创建stack对象
s.push(n);//元素n入栈
s.pop();//栈顶元素出栈
s.top();//访问栈顶元素
s.empty();//判断栈是否为空
s.size();//返回栈中元素个数
//该题可利用栈的先进后出的性质来进行处理解决
#include<iostream>
#include<stack>//定义栈的头文件
using namespace std;
void deal()
{stack<int> needle[4];//定义栈 int a,b;int p,q,i;bool is=true;//is标识栈是否为空 cin>>p>>q;for(i=p;i>0;i--)//对标号为1的栈进行初始化 needle[1].push(i);for(i=0;i<q;i++)//对q次操作进行分析判断 {cin>>a>>b;if(needle[a].empty())//如果栈a为空,那么此次操作必定错误 is=false;else{if(needle[b].empty())//如果栈b为空,那么操作一定可进行 {needle[b].push(needle[a].top());needle[a].pop();}else{if(needle[a].top()>needle[b].top())//判断a的栈顶元素是否比b的大,若大则操作错误 is=false;else{needle[b].push(needle[a].top());needle[a].pop();}}}}if(is)//对最终结果进行输出 cout<<"legal"<<endl;elsecout<<"illegal"<<endl;
}
int main()
{int n;cin>>n;while(n--)deal();return 0;
}
南阳oj-----汉诺塔(三)(stack)相关推荐
- 第12周 oj 汉诺塔问题
问题及代码: /*Copyright(c)2016,烟台大学计算机学院 all rights reserved. 作者:曹欣宇 完成日期:2016年11月18日 题目描述 汉诺塔(又称河内塔)问题是印 ...
- python面向过程实践汉诺塔_递归汉诺塔-和递归汉诺塔相关的内容-阿里云开发者社区...
多柱汉诺塔最优算法设计探究 多柱汉诺塔最优算法设计探究 引言 汉诺塔算法一直是算法设计科目的最具代表性的研究问题,本文关注于如何设计多柱汉诺塔最优算法的探究.最简单的汉诺塔是三个柱子(A.B.C),因 ...
- 汉诺塔_最优通解(待证)_碟子移动步骤
汉诺塔 三柱以上一般解,"Frame-Stewart Algorithm" 证明在四柱情况下最优,往上未证,当下来说应该没有更优解了. Java/Python 代码传送门 三柱经典 ...
- 多柱汉诺塔最优算法设计探究
多柱汉诺塔最优算法设计探究 引言 汉诺塔算法一直是算法设计科目的最具代表性的研究问题,本文关注于如何设计多柱汉诺塔最优算法的探究.最简单的汉诺塔是三个柱子(A.B.C),因此多柱汉诺塔的柱子个数M ...
- java汉诺塔(含汉诺塔问题的详解)
目录 一:汉诺塔问题 二:汉诺塔问题思路 三:图示化思路 四:代码展示 一:汉诺塔问题 汉诺塔问题是一个经典的问题.汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说.大梵天创造世界的 ...
- 汉诺塔原理超详细讲解+变式例题
目录 一.汉诺塔详解 1.详解 2.完整代码 二.汉诺塔公式:ans=2^n^-1 1.例题:P1760 通天之汉诺塔 三.变式1:牛牛的汉诺塔 四.变式2:P4285 [SHOI2008]汉诺塔 A ...
- 汉诺塔(三) 判断操作是否合法 + 栈(stack)数组
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=93 汉诺塔(三) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 ...
- 汉诺塔(三)_栈的应用
问题 E: 汉诺塔(三) 时间限制: 3 Sec 内存限制: 128 MB 提交: 2 解决: 2 [提交][状态][讨论版] 题目描述 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北 ...
- NYIST汉诺塔(一)(三)问题以及汉诺塔的路径实现
首先,什么是汉诺塔?如题,简单的介绍一下:在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针.印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地 ...
- 三十三、分治算法---汉诺塔问题
一.分治算法的介绍 分治法是一种很重要的算法.字面上的解释是"分而治之",就是把一个复杂的问题分成两个或更多的相同或 相似的子问题,再把子问题分成更小的子问题--直到最后子问题可以 ...
最新文章
- flask的客户端服务端
- 企业部署Windows 8 Store 风格应用
- linux unshare 命令,Linux ip netns 命令
- 解决安装完ubuntu登陆无root账户问题
- 2019中山大学程序设计竞赛
- redhat 6.4 安装ftp
- vscode放大缩小快捷键_浏览器使用指南之常用快捷键有哪些?
- Extjs可视化设计视频教程三
- 解析HttpURLConnection与代理服务器
- Retinex实验效果图和图片格式转化的失真问题
- UE4蓝图基础01-开发环境安装
- 触摸板不小心卸载,触摸板重装,触摸板没有开关选项
- Google SketchUp Cookbook: (Chapter 1) Making Multiple Copies
- dell服务器更换硬盘raid,DELL T620服务器硬盘坏,更换硬盘做RAID同步
- 智能制造学习纪录片和书籍
- python画带权重的图
- 胡喜:蚂蚁金服十五年技术架构演进之路
- 2019年最新《Web 前端开发》等级考试模拟题~以国家 “1+X” 职业技能证书为标准,厚溥推出 Web 前端开发人才培养方案...
- JAVA使用POI-TL生成word表格列宽自定义
- 【说一千道一万】Java内存
热门文章
- 饿了么分布式KV架构与实践
- 全球首列氢燃料混合动力有轨电车成功商业运营,全程“无网”运行
- Linux系统编程之进程间通信
- REST+EJB+JPA 框架在 Eclipse+TomEE 的开发环境搭建
- [翻译] 5点建议,让iOS程序跑得更快
- TextView 不用获取焦点也能实现跑马灯
- 【SpringBoot_ANNOTATIONS】组件注册 06 @Conditional 按照条件注册bean
- 【Hibernate】ch01Demo
- SpringBoot 根据条件注入需要的 Bean
- mongodb python 大于_菜鸟成长记--如何根据关键词爬取微博内容?(scrapy+mongodb)