程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 數據-連環鎖

數據-連環鎖

日期:2017/1/6 16:37:31      編輯:編程解疑
連環鎖

Description

許多人一定很熟悉九連環(如下圖),九個環被串在一起,操作規則如下:第一個(右邊)環可以任意裝卸,如果第k個環沒有被卸掉,而第k個環前邊(右邊)的所有環都被卸掉,則第k+1個環(第k個環左邊的環)可以任意裝卸(如果存在的話)。
用0表示此換被卸掉,1表示此環沒有被卸掉,則九連環的每個狀態可以用一個長度為9的二進制串來表示,如:111111001經過一次操作可以變成111111000,也可以變成111111011,111111111經過一次操作可以變成111111110,也可以變成111111101。

任務描述:
你現在要操作的是一個n連環,n為正整數,給出n連環的兩種狀態,計算出從第一種狀態變換到第二種狀態所需要的最少步數。
Input

第一行是一個正整數m,表示有m組測試數據。
每組測試數據一共3行,第一行是一個正整數n (0 < n < 128),後兩行每一行描述一種狀態,n個數(0或1),用空格隔開。
Output

對於每一組測試數據輸出一行,一個非負整數,表示從第一種狀態變換到第二種狀態所需要的最少步數。
Sample Input

2
3
0 0 0
1 0 0
4
1 0 0 0
0 1 1 0
Sample Output

7
11

最佳回答:


http://blog.csdn.net/AcmHonor/article/details/47055219

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved