codevs1145
题目描述 Description
给定A、B、C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为n=3的情形)。现要将这些圆盘移到C柱上,在移动过程中可放在B柱上暂存。要求:
(1)每次只能移动一个圆盘;
(2)A、B、C三根细柱上的圆盘都要保持上小下大的顺序;
任务:设An为2n个圆盘完成上述任务所需的最少移动次数,对于输入的n,输出An。
为一个正整数n,表示在A柱上放有2n个圆盘。
仅一行,包含一个正整数, 为完成上述任务所需的最少移动次数An。
2
6
对于50%的数据,1<=n<=25
对于100%的数据,1<=n<=200
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath> using namespace std; int n;
int an[],l;
int bn[];
int cn[]; void add()
{
memset(bn,,sizeof(bn));
int i,j;
for(i = ;i<=l;i++)
{
bn[i+] = (an[i]+an[i]+bn[i])/;
an[i] = (an[i]+an[i]+bn[i])%;
}
if(an[l] != ) l++;
}
void add2()
{
memset(bn,,sizeof(bn));
memset(cn,,sizeof(cn));
bn[] = ;
int i,j;
for(i = ;i<=l;i++)
{
cn[i+] = (an[i]+bn[i]+cn[i])/;
an[i] = (an[i]+bn[i]+cn[i])%;
}
if(an[l]) l++;
} int main()
{
int i,j,k;
int n;
memset(an,,sizeof(an));
an[] = ,l = ;
cin>>n;
for(i = ;i<=n;i++)
{
add();
add2();
}
add();
for(i = l-;i>=;i--)
printf("%d",an[i]);
cout<<endl;
return ;
}
codevs1145的更多相关文章
随机推荐
- Sublime Text 添加到右键菜单 带菜单图标
1.打开 regedit 2.找到节点 HKEY_CLASSSES_ROOT -> * -> Shell 3.右键选择新建“ 项 ” 这个项的名字将作为右键菜单的菜单名称,我用的“ Sub ...
- Android多项目依赖在Eclipse中无法关联源代码的问题解决 Ctril 点不进去的解决方法
1. 使用快捷键:Ctrl+shift+R,在弹出框中输入.classpath 找到被作为library引入的那个.classpath文件. 2.将kind="src" path ...
- c++如何生成随机数
一.使用rand()函数 头文件<stdlib.h> (1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_ ...
- ASP.NET,Razor语句中@符号的意义
比较下面两段代码的区别: <td> @if (item.ModifyTime.HasValue) { @item.ModifyTime.GetValueOrDefault().ToStri ...
- QT-利用C++仿制windown自带的记事本程序V1.0
下班无事, 发现QT还是很好用的, 就仿制windows的记事本做了一个,未彻底DEBUG, 先拿来分享下. windows记事本大概是这样的: 大概分为以下几步: 1. 界面用QT代码写,即可, Q ...
- [?]Unity快捷键
Super=Win键. Rererence: What are Unity's keyboard and mouse shortcuts?
- 切记ajax中要带上AntiForgeryToken防止CSRF攻击
在程序项目中经常看到ajax post数据到服务器没有加上防伪标记,导致CSRF被攻击,下面小编通过本篇文章给大家介绍ajax中要带上AntiForgeryToken防止CSRF攻击,感兴趣的朋友一起 ...
- 畅通工程--hdu1232(并查集)
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- NHbiernate 配置
1.从网上下载NHibernate 4.0 文件.下载地址:https://sourceforge.net/projects/nhibernate/ 2.解压后把 NHibernate.dll文件引用 ...
- Oracle EBS-SQL (INV-12):检查待定事物处理1.sql
/*未加工物料*/ update inv.mtl_material_transactions_temp set process_flag='Y', LOCK_FLAG='N', TRANSACTION ...