“华为杯”山东理工大学第十一届ACM程序设计竞赛 E - 九连环
Problem Description
不知道大家有没有玩过一个叫做 九连环 的玩具,如下图所示。
如果你不了解九连环,那玄黄就带你领略九连环的奥妙:
九连环是我国传统的民间智力玩具,玩具上面有九个连环套在杆上,目标就是通过一定的方式将九个连环从杆上全部取下来。
玩法是这样的:
1、对每个环,有2种操作:把这个环放到杆上或把这个环从杆上取下
2、你可以随意的对第1个环进行操作
3、如果你想对第i个环(i>1)进行操作,你必须将第i-1个环放在杆上,且必须把前i-2个环从杆上取下Input
输入一个整数n ( 0<n<10 ),代表杆上面的连环个数。
Output
输出把所有连环取下来的最少操作步骤,每一步占一行,输出一个整数i和操作”UP”或者”DOWN”,代表将第i个环放到杆上或从杆上取下来,整数和操作用空格分开。详情见示例输出。
首先我们一定是想先把最后面的拿掉
1.每次拿掉第i个位置时要先看i-1的位置是否存在;
2.存在,需要把i-1之前的拿掉 此时i = i - 2
3.不存在 需要将i-1的位置变为存在 此时i = i - 1
#include<bits/stdc++.h>using namespace std;#define ll long long #define mem(a,b) memset(a,b,sizeof(a)) #define ls now<<1 #define rs now<<1|1 #define lson l,mid,ls #define rson mid+1,r,rs #define inf 0x3f3f3f3fint arr[15]; string a="DOWN",b="UP";void dfs(int n) {if(n<1) return ;for(int i=n;i>=1;i--){if(arr[i-1]) dfs(i-2);if(arr[n-1]==0) dfs(i-1);}cout<<n<<" "<<(arr[n]?a:b)<<endl;arr[n]^=1;dfs(n-1); }int main() {int n;for(int i=1;i<=10;i++){arr[i]=1;}cin>>n;dfs(n);return 0; }
转载于:https://www.cnblogs.com/minun/p/10927371.html
“华为杯”山东理工大学第十一届ACM程序设计竞赛 E - 九连环相关推荐
- “华为杯”山东理工大学第十一届ACM程序设计竞赛(正式赛)
猜先 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 小 A 和小 B 最近开始学习下 ...
- 九连环(“华为杯”山东理工大学第十一届ACM程序设计竞赛(正式赛)网络同步赛)
Problem Description 不知道大家有没有玩过一个叫做 九连环 的玩具,如下图所示. 如果你不了解九连环,那玄黄就带你领略九连环的奥妙: 九连环是我国传统的民间智力玩具,玩具上面有九个 ...
- “师创杯”山东理工大学第九届ACM程序设计竞赛 正式赛 F.校赛~校赛~【思维+规律题】
校赛~校赛~ Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description SDUT 的校赛是从 20 ...
- 师创杯”山东理工大学第九届ACM程序设计竞赛(网络同步赛)--I皮卡丘的梦想2
作为水题王者前去水了一波山东理工大学的校赛,这道题一个小细节坑了我2个小时,思路其实很简单,就是线段树单点更新的模板,用一个60的数组标记,如果这个区间内有I种类的化石,那么就是1,否则为0,加入新化 ...
- “师创杯”山东理工大学第九届ACM程序设计竞赛 正式赛 I.皮卡丘的梦想2【树状数组】水题
皮卡丘的梦想2 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 一天,一只住在 501 的皮 ...
- “师创杯”山东理工大学第九届ACM程序设计竞赛 热身赛 E.上色的纱雾【二分+贪心】
上色的纱雾 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 纱雾画画功力首屈一指,现在她 ...
- 华为杯山东理工大学第二届团体程序设计天梯赛
7-1 12-24小时制 (15 分) 编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间. 输入格式: 输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:3 ...
- 科林明伦杯”哈尔滨理工大学第十届程序设计竞赛B(减成1)
科林明伦杯"哈尔滨理工大学第十届程序设计竞赛 存在n个数,每次操作可以任选一个区间使得区间内的所有数字减一.问最少多少次操作,可以让所有数都变成1. 数据保证一定有解. 输入描述: 输入t, ...
- “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛) 题解
"科林明伦杯"哈尔滨理工大学第十届程序设计竞赛(同步赛) 题解 萌新又来写题解啦 原题链接 B 减成一 题意:存在n个数,每次操作可以任选一个区间使得区间内的所有数字减一.问最少多 ...
最新文章
- 慕课网Flask高级编程实战-10.鱼书业务处理
- 5G NR — 动态频谱共享
- 设计模式----工厂模式
- 北京学python 价格怎么样_北京学习Python需要多少钱
- Linux apache编译安装
- go 基准测试 找不到函数_初学TDD:测试也能推动开发啦!
- 一个类似百度的搜索。。。。。
- 强化学习——Q学习算法
- 刚体运动学公式_刚体的运动学与动力学问题 (二)
- Aruba7010 默认密码_紧急提醒:手机上的这个密码必须设,否则钱包很危险!|手机|sim|盗取...
- python怎么自动化录入数据_报表自动化怎么做?Excel,Python,还是它?
- mysql drop表明_MySQL DROP TABLE会完全删除表还是仅删除结构?
- python图标变成了白色_怎么解决图标变成白色图标的问题
- 在 Amazon SageMaker 上玩转 Stable Diffusion: 基于 Dreambooth 的模型微调
- 计算机技术为艺术设计提供,计算机技术艺术设计论文
- Java的Scanner对象
- MATLAB矩阵行列
- Web3 网络效应:五种心智模型
- 阿里云服务器 远程桌面连接 卡顿
- Protobuf-net ProtoGen的使用