http://acm.hust.edu.cn/vjudge/contest/view.action?cid=76447#problem/E

汉诺塔IX Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u

Description

1,2,...,n表示n个盘子.数字大盘子就大.n个盘子放在第1根柱子上.大盘不能放在小盘上.
在第1根柱子上的盘子是a[1],a[2],...,a[n]. a[1]=n,a[2]=n-1,...,a[n]=1.即a[1]是最下

面的盘子.把n个盘子移动到第3根柱子.每次只能移动1个盘子,且大盘不能放在小盘上.

问第m次移动的是那一个盘子.
 

Input

每行2个整数n (1 ≤ n ≤ 63) ,m≤ 2^n-1.n=m=0退出
 

Output

输出第m次移动的盘子的号数.
 

Sample Input

63 1
63 2
0 0
 

Sample Output

1
2

看了,1个小时? 后悔没有坚持,后悔没有把想到的都想到,后悔,存在~

 
代码超级简单
#include<stdio.h>

int main()
{
    long long n, m, k;  // 2的63次方,超过int类型范围

while(scanf("%lld%lld", &n, &m), n+m)
    {
        k = 1;
        while(m % 2 != 1)
        {
            k++;
            m /= 2;
        }
        printf("%lld\n", k);
    }
    return 0;
}

 
之前推了前几个:前5个顺序应该是 1 21 3121 4121 3121 5121 3121 4121 3121 。
看出来什么了吗没有,昨天其实都想到4放哪个柱子上的问题,由于什么,就把4按放第三个柱子上处理,5就变成了51213121312141213121,当n等于4的时候放第四个柱子上,当n等于5的时候,4放哪个柱子上都是一样,但5就不一样了。。醉了,脑子就那么一闪,就过去了。不过也不一定就能想出来。。

汉诺塔IX的更多相关文章

  1. hdu2175汉诺塔IX

    汉诺塔IX Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  2. 汉若塔系列续:汉诺塔VIII、汉诺塔IX、汉诺塔X。

    汉诺塔VIII,在经典汉若塔问题上,问n个盘子的情况下,移动m次以后,是什么状态.(与第七代互为逆命题) 我的思路:本质还是dfs,但是用m的值来指引方向,每搜一层确定第i个盘子在哪个塔,o(n)的算 ...

  3. HDOJ-2175 汉诺塔IX

    题目大意:基于汉诺塔原型,第一根柱子上有n个盘子,从上至下编号从1依次递增至n.在最佳移动方案中,第m次所移动的盘子的编号. 解题思路:模拟必然是会超时的.但根据汉诺塔的递归原理,容易发现,对于n阶汉 ...

  4. HDU 2175 汉诺塔IX (递推)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2175 1,2,...,n表示n个盘子.数字大盘子就大.n个盘子放在第1根柱子上.大盘不能放在小盘上.  ...

  5. HDU 2175 汉诺塔IX

    http://acm.hdu.edu.cn/showproblem.php?pid=2175 Problem Description 1,2,...,n表示n个盘子.数字大盘子就大.n个盘子放在第1根 ...

  6. HDU 汉诺塔系列

    做了这一系列题,表示对汉诺塔与这一系列递推理解加深了 经典汉诺塔:1,2,...,n表示n个盘子,数字大盘子就大,n个盘子放在第1根柱子上,按照从上到下 从小到大的顺序排放,过程中每次大盘都不能放在小 ...

  7. HDU汉诺塔系列

    这几天刷了杭电的汉诺塔一套,来写写题解. HDU1207 汉诺塔II HDU1995 汉诺塔V HDU1996 汉诺塔VI HDU1997 汉诺塔VII HDU2064 汉诺塔III HDU2077  ...

  8. bzoj1019 [SHOI2008]汉诺塔

    1019: [SHOI2008]汉诺塔 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1030  Solved: 638[Submit][Status] ...

  9. [SHOI2008]汉诺塔

    Description 汉诺塔由三根柱子(分别用A B C表示)和n个大小互不相同的空心盘子组成.一开始n个盘子都摞在柱子A上, 大的在下面,小的在上面,形成了一个塔状的锥形体. 对汉诺塔的一次合法的 ...

随机推荐

  1. 用 Flask 来写个轻博客 (37) — 在 Github 上为第一阶段的版本打 Tag

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 第一阶段结语 打 Tag 前文列表 用 Flask 来写个轻博客 (1 ...

  2. 快速测试端口的连通性(HTTP/HTTPS)

    ping 仅限 80 端口,命令中无法指定端口: C:\Users\Administrator>ping kikakika.com 遗失对主机的连接. 正在 Ping kikakika.com ...

  3. Interface-接口的实现与注意事项

    package cn.learn.Interface; public interface MyInterfaceA { public abstract void methodA(); public a ...

  4. 在vue中运用mt-loadmore 实现上拉加载,下拉刷新(完整源码)

    <template> <div class="serverList"> <ul class="scrollModeBox" :st ...

  5. BUUCTF--不一样的flag

    测试文件:https://buuoj.cn/files/91b89e765c9aff8e82690c0868975b37/0bf39b5d-5f2f-4095-a921-fb5c20f53f21.zi ...

  6. ReactNative出现错误问题'React/RCTAssert.h' file not found

    今天搭建一个rn的项目,项目可以运行但就是报一个错误, 查阅是由于Pods里的React结构改变了,配置没有改过来,所以出现找不到文件的问题 修改search paths 中 header searc ...

  7. [转载]Linux上使用ssl进行端口转发

    原文地址:Linux上使用ssl进行端口转发 作者:呼延十 背景介绍 作为一个后端程序员,经常要和别人联调接口,每当这时,总是被公司的各种,dev,qa,pre,prod环境搞得头疼,,,我真的只是想 ...

  8. __kindof的用法

    简介: _kindof是苹果声明的一个新特性 使用方法如下: 正常我们声明一个属性: @property (nonatomic,strong) NSArray *viewArray; 看属性我们知道v ...

  9. React(1) --新建项目

    搭建React开发环境之前的准备工作 1.必须要安装node.js (注意:安装node.js稳定版本) 2.安装cnpm,用cnpm替代npm npm install -g cnpm --regis ...

  10. MAT in eclipse - memory analyzer

    In Help > Install New Software..., enter the following update site URL: http://download.eclipse.o ...