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 - 九连环相关推荐

  1. “华为杯”山东理工大学第十一届ACM程序设计竞赛(正式赛)

    猜先 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 小 A 和小 B 最近开始学习下 ...

  2. 九连环(“华为杯”山东理工大学第十一届ACM程序设计竞赛(正式赛)网络同步赛)

    Problem Description 不知道大家有没有玩过一个叫做 九连环 的玩具,如下图所示. 如果你不了解九连环,那玄黄就带你领略九连环的奥妙:  九连环是我国传统的民间智力玩具,玩具上面有九个 ...

  3. “师创杯”山东理工大学第九届ACM程序设计竞赛 正式赛 F.校赛~校赛~【思维+规律题】

    校赛~校赛~ Time Limit: 1000MS  Memory Limit: 65536KB Submit  Statistic Problem Description SDUT 的校赛是从 20 ...

  4. 师创杯”山东理工大学第九届ACM程序设计竞赛(网络同步赛)--I皮卡丘的梦想2

    作为水题王者前去水了一波山东理工大学的校赛,这道题一个小细节坑了我2个小时,思路其实很简单,就是线段树单点更新的模板,用一个60的数组标记,如果这个区间内有I种类的化石,那么就是1,否则为0,加入新化 ...

  5. “师创杯”山东理工大学第九届ACM程序设计竞赛 正式赛 I.皮卡丘的梦想2【树状数组】水题

    皮卡丘的梦想2 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 一天,一只住在 501 的皮 ...

  6. “师创杯”山东理工大学第九届ACM程序设计竞赛 热身赛 E.上色的纱雾【二分+贪心】

    上色的纱雾 Time Limit: 1000MS  Memory Limit: 65536KB Submit  Statistic Problem Description 纱雾画画功力首屈一指,现在她 ...

  7. 华为杯山东理工大学第二届团体程序设计天梯赛

    7-1 12-24小时制 (15 分) 编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间. 输入格式: 输入在一行中给出带有中间的:符号(半角的冒号)的24小时制的时间,如12:3 ...

  8. 科林明伦杯”哈尔滨理工大学第十届程序设计竞赛B(减成1)

    科林明伦杯"哈尔滨理工大学第十届程序设计竞赛 存在n个数,每次操作可以任选一个区间使得区间内的所有数字减一.问最少多少次操作,可以让所有数都变成1. 数据保证一定有解. 输入描述: 输入t, ...

  9. “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛) 题解

    "科林明伦杯"哈尔滨理工大学第十届程序设计竞赛(同步赛) 题解 萌新又来写题解啦 原题链接 B 减成一 题意:存在n个数,每次操作可以任选一个区间使得区间内的所有数字减一.问最少多 ...

最新文章

  1. 慕课网Flask高级编程实战-10.鱼书业务处理
  2. 5G NR — 动态频谱共享
  3. 设计模式----工厂模式
  4. 北京学python 价格怎么样_北京学习Python需要多少钱
  5. Linux apache编译安装
  6. go 基准测试 找不到函数_初学TDD:测试也能推动开发啦!
  7. 一个类似百度的搜索。。。。。
  8. 强化学习——Q学习算法
  9. 刚体运动学公式_刚体的运动学与动力学问题 (二)
  10. Aruba7010 默认密码_紧急提醒:手机上的这个密码必须设,否则钱包很危险!|手机|sim|盗取...
  11. python怎么自动化录入数据_报表自动化怎么做?Excel,Python,还是它?
  12. mysql drop表明_MySQL DROP TABLE会完全删除表还是仅删除结构?
  13. python图标变成了白色_怎么解决图标变成白色图标的问题
  14. 在 Amazon SageMaker 上玩转 Stable Diffusion: 基于 Dreambooth 的模型微调
  15. 计算机技术为艺术设计提供,计算机技术艺术设计论文
  16. Java的Scanner对象
  17. MATLAB矩阵行列
  18. Web3 网络效应:五种心智模型
  19. 阿里云服务器 远程桌面连接 卡顿
  20. Protobuf-net ProtoGen的使用

热门文章

  1. python3利用正则表达式爬取内涵段子
  2. 08简单推导:手机尾号评分
  3. Linux命令--top
  4. 以下可用作c语言中的字符常量是,C语言-第3章简单的C程序设计 练习题.doc
  5. android数据恢复
  6. Idea Lambda expressions are not supported at language level '5'
  7. 工作了3年的JAVA程序员应该具备什么技能?
  8. 动态规划问题——招聘会
  9. 深度优先搜索及python实现围棋“吃子”
  10. Findora区块链培训课程重磅上线!(附视频)