关于一本通1205超时问题
解法这里就不多说了,CSDN里大佬讲的肯定比我好
这是一道经典的递归题目,自然也非常简单,但是有一个坑却很容易掉下去
误解:
#include<bits/stdc++.h>
using namespace std;void hanoi(int num,char a,char b,char c){ //起始,终点,过渡 if(num==1){cout<<a<<"->1->"<<b<<endl;return;}hanoi(num-1,a,c,b);cout<<a<<"->"<<num<<"->"<<b<<endl;hanoi(num-1,c,b,a);
}int main(){int n=0;char a,b,c;cin>>n;cin>>a>>b>>c;hanoi(n,a,b,c);
}
正解:
#include<bits/stdc++.h>
using namespace std;void hanoi(int num,char a,char b,char c){ //起始,终点,过渡 if(num==1){printf("%c->%d->%c\n",a,num,b);return;}hanoi(num-1,a,c,b);printf("%c->%d->%c\n",a,num,b);hanoi(num-1,c,b,a);
}int main(){int n=0;char a,b,c;cin>>n;cin>>a>>b>>c;hanoi(n,a,b,c);
}
观察到有什么区别了吗?
没错,格式化输出(printf)比流输出(cout)要快!!!
这就是超时的主要原因了!
关于一本通1205超时问题相关推荐
- 信息学奥赛一本通 1205:汉诺塔问题 | OpenJudge 2.2 6261:汉诺塔问题
[题目链接] [ybt 1205:汉诺塔问题 OpenJudge 2.2 6261:汉诺塔问题 [题目考点] 1. 递归 [解题思路] 设输入的左中右三个杆分别为a,b,c.题目要将摞在a杆上的n层汉 ...
- 一本通1205:汉诺塔问题(含严格证明)
[题目描述] 约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下.由小到大顺序串着由64个圆盘构成的塔.目的是将最左边杆上的盘全部移到中间的杆上,条件是一次只能移 ...
- 信息学奥赛一本通(1205:汉诺塔问题)
1205:汉诺塔问题 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 19568 通过数: 7240 [题目描述] 约19世纪末,在欧州的商店中出售一种智力 ...
- 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)
信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法 更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...
- 1000:入门测试题目 【信息学奥赛一本通(C++版)在线评测系统】
为了更好的阅读体验,建议您移步至我的博客园来阅读此文章. 传送门 「原题」 1000:入门测试题目 时间限制: 1000 ms 内存限制: 32768 KB 提交数: 0 通过数: 0 [题目描述] ...
- 信息学奥赛一本通网站1672:游戏通关
如果你正在找这道题不超时(或者和自己的AC算法不一样)的算法,并且恰好像本蒟蒻一样会树状数组不会线段树,继续往下看 网址:信息学奥赛一本通(C++版)在线评测系统 (ssoier.cn) 这道题的贪心 ...
- 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划
总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...
- HOJ 系统常用功能介绍 部署快速入门 c++ python java编程语言在线自动评测 信息奥赛一本通 USACO GESP 洛谷 蓝桥 CSP NOIP题库
技术支持微 makytony 服务器配置需求 腾讯云 2H4G 5M 60GB 轻量应用服务器 承载大约 200~400人使用,经过压力测试,评测并发速度可满足130人左右的在线比赛. 系统镜像选 ...
- 一本通题解——1433 愤怒的牛
题目链接 一本通:http://ybt.ssoier.cn:8088/problem_show.php?pid=1433. 自己OJ:http://47.110.135.197/problem.php ...
- Linux shell 学习笔记(10)— 处理用户输入(命令行读取参数、读取用户输入、超时处理)
1. 命令行参数 向 shell 脚本传递数据的最基本方法是使用命令行参数.命令行参数允许在运行脚本时向命令行添加数据. $ ./addem 10 30 本例向脚本 addem 传递了两个命令行参数( ...
最新文章
- 解决Http响应内容中文乱码问题
- JavaScript的格式--从格式做起,做最严谨的工程师
- AQS理解之一,基础知识——LockSupport
- [Java][JavaScript]字符串数组与字符串之间的互转(join/split)(转)
- 对象运算符.和[]的用法
- 前端学习(94):css重置样式
- 我不够格,但我还是希望事情到此为止,继续工作罢
- java 调度框架_java调度框架Quartz(一)
- Go 网络 TCP Client (一)
- 当有脚本错误时,停止运行。
- mysql tcp优化_mysql 优化
- Unity3D基础15:触发器
- win10应用安装位置修改方法
- atitit.session的原理以及设计 java php实现的异同
- 计算机房空调设计标准,《数据中心制冷与空调设计标准》的要点
- FAT32文件系统结构详解
- 【数据维护】Windows文件保护机制(SFC)
- 探寻机器人创客教育中的趣味
- POJ3666 线性dp+维度优化
- togaf 的4A架构
热门文章
- python rgb565_RGB565的转换
- 一文详解ERP的提取原理
- 电子手轮控制步进电机程序手轮控制步进电机的頻率,脉冲数,内容包括欧姆龙plc程序,mcgs程序
- 论文阅读笔记|Deep Image Homography Estimation
- 基于单片机的智能窗帘系统设计(#0408)
- 计算机应用基础课程学什么,计算机专业本科课程 主要学什么
- 致远SPM之CAP数据分析解决方案
- jenkins 下载 安装 启动教程-通过war的方式
- K近邻算法与K均值算法的区别
- win7计算机屏幕休眠,windows7系统怎么设置屏幕不休眠