Hanoi雙塔問題

Hanoi雙塔問題

題目描述

?

給定A,B,C三根足夠長的細柱,在A柱上放有2n個中間有空的圓盤,共有n個不同的尺寸,每個尺寸都有兩個相同的圓盤,注意這兩個圓盤是不加區分的(下圖為n=3的情形)。現要將 這些國盤移到C柱上,在移動過程中可放在B柱上暫存。要求:

?

?

(1)每次只能移動一個圓盤;

?

(2) ABC三根細柱上的圓盤都要保持上小下大的順序;

?

任務:An2n個圓盤完成上述任務所需的最少移動次數,對于輸入的n,輸出An

?

?

輸入

?

輸入文件hanoi.in為一個正整數n,表示在A柱上放有2n個圓盤。

?

輸出

?

輸出文件hanoi.out僅一行,包含一個正整數,為完成上述任務所需的最少移動次數An

?

樣例輸入

1

樣例輸出

2

提示

?對于50%的數據,?1<=n<=25


對于100%?數據,?1<=n<=200

?

設法建立AnAn-1的遞推關系式。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int f[1000],n;
 4 void Hanoi()
 5 {
 6     int i;
 7     for(i=1;i<=f[0];i++) f[i]*=2;   //按位乘2
 8     f[1]+=2;
 9     for(int i=1;i<=f[0];i++)        //處理進位
10     {
11         f[i+1]+=f[i]/10;
12         f[i]%=10;
13     }
14     if(f[f[0]+1]!=0) f[0]++;        //確定位數
15 }
16 int main()
17 {
18     cin>>n;
19     memset(f,0,sizeof(f));
20     f[0]=1;f[1]=2;
21     for(int i=2;i<=n;i++)
22     {
23         Hanoi();
24     }
25     for(int i=f[0];i>=1;i--)
26         cout<<f[i];
27     cout<<endl;
28     return 0;
29 }
View Code

?

轉載于:https://www.cnblogs.com/qing123tian/p/11107540.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247680.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247680.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247680.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue中config/index.js:配置的詳細理解

當我們需要和后臺分離部署的時候&#xff0c;必須配置config/index.js: 用vue-cli 自動構建的目錄里面 &#xff08;環境變量及其基本變量的配置&#xff09; 123456789101112131415var path require(path)module.exports {build: {index: path.resolve(__dirname, dist/ind…

uni-app吸頂固定樣式

<template><view class"full"><view class"sticky-box"><!-- 搜索 --><uni-search-bar class"unisearchbar" radius"5" placeholder"請輸入搜索關鍵詞" clearButton"auto" bgColor&qu…

Django(模板語言-自定義filter和simple_tag)

filter過濾器的主要形式&#xff1a;變量|函數,意思是將變量交給函數處理&#xff0c;而自定義filter就是自己定義函數&#xff0c;因為用到已有的很少。 1.在當前app中創建templatetags模塊(包&#xff1a;帶__init__.py)&#xff08;必須的&#xff09; 2.在templatetags中創…

uni-app商品分類

<template><view class"classify"><!-- 分類部分 --><view class"cate-left"><view :class"[cate-item,activeIndexindex?active:]" v-for"(item,index) in cateList" :key"index"click"c…

10分鐘看懂瀏覽器的渲染過程及優化

一、瀏覽器概述 目前的主流瀏覽器有5個&#xff1a;Internet Explorer、Firefox、Safari、Chrome和Opera瀏覽器。根據 StatCounter 瀏覽器統計數據&#xff0c;目前&#xff08;截止2019 年 5 月&#xff09;Firefox、Safari 和 Chrome 瀏覽器的總市場占有率將近 83.66%。由此可…

淺談 Vue 項目優化

前幾天看到大家說 vue 項目越大越難優化&#xff0c;帶來很多痛苦&#xff0c;這是避免不了的&#xff0c;問題終究要解決&#xff0c;框架的性能是沒有問題的&#xff0c;各大測試網站都有相關數據。下面進入正題 基礎優化 所謂的基礎優化是任何 web 項目都要做的&#xff0c;…

uni-app微信小程序一鍵登錄獲取權限功能

<button class"bottom size_30" type"primary" lang"zh_CN" click"getUserInfo">一鍵登錄</button>//第一授權獲取用戶信息》按鈕觸發getUserInfo() {// 展示加載框uni.showLoading({title: 加載中,});uni.getUserProfile…

第九章 結構體與共用體

姓名&#xff1a;呂家浩 實驗地點&#xff1a;教學樓514教室 實驗時間&#xff1a;4月30日 一、本章要點 1.通過實驗理解結構體和共用體的數據結構2.結構體、共用體中數組的使用及變量的賦值3.結構體和共用體定義時的嵌套使用&#xff08;嵌套使用的結構體必須先定義&…

H5-localStorage數據存儲總結

一、什么是localStorage、sessionStorage 在HTML5中&#xff0c;新加入了一個localStorage特性&#xff0c;這個特性主要是用來作為本地存儲來使用的&#xff0c;解決了cookie存儲空間不足的問題(cookie中每條cookie的存儲空間為4k)&#xff0c;localStorage中一般瀏覽器支持的…

正則校驗與時間格式化

// 日期回顯 export function formatTime(data&#xff0c;fametYYYY-MM-DD HH:MMM:SS) {if(famet YYYY-MM-DD HH:MMM:SS){const time new Date(data)const year time.getFullYear()const month time.getMonth() 1const day time.getDate()const hour time.getHours()co…

CometOJ#6 雙倍快樂(簡單DP)

鏈接&#xff1a;https://www.cometoj.com/contest/48/problem/B 題意&#xff1a;給出一串數列&#xff0c;要求在這個數列中找出兩條“不相交”的非下降子序列使得子序列之和最大。“不相交”即不存在任意的ai同時存在于兩個子序列中。 分析&#xff1a;筆者刷題量不多&#…

iOS開發-證書問題精析~

在iOS開發過程中&#xff0c;不可避免的要和證書打交道&#xff0c;真機調試、App上架、打包給測試去測試等都需要搞證書。在此過程中我們會遇到很多的問題&#xff0c;但是如果掌握了真機調試的原理和本質&#xff1b;遇到問題&#xff0c;我們就更容易定位問題之所在&#xf…

selenium+Java自動化

轉載于:https://www.cnblogs.com/arvin-feng/p/11110483.html

html 5 本地數據庫(Web Sql Database)

基于HTML5的Web DataBase 可以讓你在瀏覽器中進行數據持久地存儲管理和有效查詢&#xff0c;假設你的離線應用程序有需要規范化的存儲功能 本文講述如何使用核心方法openDatabase、transaction、executeSql 1.新建一個網頁&#xff0c;比如&#xff1a;test.html 內容如下&am…

前端學習資料及路線名稱網站

IT前端學習資料及路線常用PC端UI組件庫餓了么(Element-UI)https://element.eleme.cn/#/zh-CN常用小程序端UI組件庫uView UIhttp://v1.uviewui.com/名稱網站JQuery文件網https://code.jquery.com/jquery/jQuery手冊&#xff08;pc端&#xff09;http://jquery.cuishifeng.cn/jQu…

JS實現生成一個周對應日期數組

/* 獲取日期和周 */getDateWeek() {/* 得到當前日期的時間戳 */const timestamp Date.now()// const timestamp new Date(2019, 7, 30, 0, 0, 0, 0).getTime()const dateWeek Array.from(new Array(7)).map((_, i) > {/* 得到當前周每一天的時間戳 */const weekTimestamp…

npm升級package.json依賴包

使用npm管理node的包&#xff0c;可以使用npm update <name>對單個包升級&#xff0c;對于npm的版本大于 2.6.1,可以使用命令: npm install -g 升級全局的本地包。 對于版本小于2.6.1的一個一個包的升級實在是太麻煩&#xff0c;就想找到一個升級所有本地包的方法&#x…

Sublime Text 3 快捷鍵匯總

Sublime Text 3非常實用&#xff0c;但是想要用好&#xff0c;老是忘記&#xff0c;匯總一下&#xff0c;方便自己方便別人。 用慣了vim&#xff0c;有些快捷鍵也懶得用了&#xff0c;尤其是在win下面&#xff0c;還有圖形界面&#xff0c;所以個人覺得最有用的還是搜索類&…

Minimal coverage (貪心,最小覆蓋)

題目大意&#xff1a;先確定一個M&#xff0c; 然后輸入多組線段的左端和右端的端點坐標&#xff0c;然后讓你求出來在所給的線段中能夠 把[0, M] 區域完全覆蓋完的最少需要的線段數&#xff0c;并輸出這些線段的左右端點坐標。 思路分析&#xff1a; 線段區間的起點是0&#x…

vuex知識點

Vuex 是一個專為 Vue.js 應用程序開發的狀態管理模式&#xff1b;集中存儲和管理應用的所有組件狀態。 狀態&#xff1a;什么是狀態&#xff0c;我們可以通俗的理解為數據。Vue只關心視圖層&#xff0c;那么視圖的狀態如何來確定&#xff1f;我們知道是通過數據驅動&#xff0c…