歷屆試題 翻硬幣 (藍橋杯)
小明正在玩一個“翻硬幣”的遊戲。
桌上放著排成一排的若干硬幣。我們用 * 表示正面,用 o 表示反面(是小寫字母,不是零)。
比如,可能情形是:**oo***oooo
如果同時翻轉左邊的兩個硬幣,則變為:oooo***oooo
現在小明的問題是:如果已知了初始狀態和要達到的目標狀態,每次只能同時翻轉相鄰的兩個硬幣,那麼對特定的局面,最少要翻動多少次呢?
我們約定:把翻動相鄰的兩個硬幣叫做一步操作,那麼要求:
相關推薦
歷屆試題 翻硬幣 (藍橋杯)
小明正在玩一個“翻硬幣”的遊戲。桌上放著排成一排的若干硬幣。我們用 * 表示正面,用 o 表示反面(是小寫字母,不是零)。比如,可能情形是:**oo***oooo如果同時翻轉左邊的兩個硬幣,則變為:oooo***oooo現在小明的問題是:如果已知了初始狀態和要達到的目標狀態,每次只能同時翻轉相鄰的兩個硬幣,那
翻硬幣 (藍橋杯)
上題 時間限制: 1 Sec 記憶體限制: 128 MB 提交: 29 解決: 18 [提交][狀態][討論版] 題目描述 小明正在玩一個“翻硬幣”的遊戲。 桌上放著排成一排的若干硬幣。我們用 * 表示正面,用 o 表
藍橋杯 歷屆試題 翻硬幣(貪心)
小明正在玩一個“翻硬幣”的遊戲。 桌上放著排成一排的若干硬幣。我們用 * 表示正面,用 o 表示反面(是小寫字母,不是零)。 比如,可能情形是:**oo***oooo 如果同時翻轉左邊的兩個硬幣,則變為:oooo***oooo 現在小明的問題是:如果已知了初始狀態和要達到的目標狀態,每次只能同時翻
藍橋杯 歷屆試題 翻硬幣(Java)
小明正在玩一個“翻硬幣”的遊戲。 桌上放著排成一排的若干硬幣。我們用 * 表示正面,用 o 表示反面(是小寫字母,不是零)。 比如,可能情形是:**oo***oooo 如果同時翻轉左邊的兩個硬幣,則變為:oooo***oooo 現在小明的問題是:如果已知了初始狀態和要達到的目標狀態,每次只能同時翻
(藍橋杯)歷屆試題 合根植物
問題描述 w星球的一個種植園,被分成 m * n 個小格子(東西方向m行,南北方向n列)。每個格子裡種了一株合根植物。 這種植物有個特點,它的根可能會沿著南北或東西方向伸展,從而與另一個格子的植物合成為一體。 如果我們告訴你哪些小格子間出現了連根現象,你能說出這個園中一
初級演算法——最大公約數與最小公倍數(藍橋杯)
思路:這裡使用的是輾轉相除法求最大公約數,而 最小公倍數 = 兩數相乘/最大公約數 #include<stdio.h> int main(){ int m,n,a,b,c; printf("input two numbers:"); scanf("%d%d",&a
(藍橋杯)斐波那契數列快速求解
問題描述: Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。 當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。 資料規模: 1 <= n <= 1,000,000 輸入輸出樣例: 輸入格式: 10 輸出格式: 55 C/C
(藍橋杯)基礎練習 2n皇后問題
我們先學習下經典案例中的八皇后問題接著學習2n皇后問題問題描述 給定一個n*n的棋盤,棋盤中有一些位置不能放皇后。現在要向棋盤中放入n個黑皇后和n個白皇后,使任意的兩個黑皇后都不在同一行、同一列或同一條對角線上,任意的兩個白皇后都不在同一行、同一列或同一條對角線上。問總共有
01字串(藍橋杯)
ostream color main col text cout div esp 輸出 問題描述 對於長度為5位的一個01串,每一位都可能是0或1,一共有32種可能。它們的前幾個是: 00000 00001 00010 00011 00100 請按從小到大的順序輸出這32
字母圖形(藍橋杯)
nbsp 規律 出了 color 輸入格式 abcd 解答 問題 ++ 問題描述 利用字母可以組成一些美麗的圖形,下面給出了一個例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 這是一個5行7列的圖形,請找出這個圖形的規律,並輸出一個
矩陣翻硬幣 數學 藍橋杯
小明先把硬幣擺成了一個 n 行 m列的矩陣。隨後,小明對每一個硬幣分別進行一次 Q 操作。對第x行第y列的硬幣進行 Q 操作的定義:將所有第 i*x 行,第 j*y列的硬幣進行翻轉。其中i和j為任意使操作可行的正整數,行號和列號都是從1開始。 當小明對所有硬幣都進行了一次 Q操作後,他發現了一個
連號區間數(藍橋杯)
連號區間數 小明這些天一直在思考這樣一個奇怪而有趣的問題:在1~N的某個全排列中有多少個連號區間呢?這裡所說的連號區間的定義是:如果區間[L, R] 裡的所有元素(即此排列的第L個到第R個元素)遞增排序後能得到一個長度為R-L+1的“連續”數列,則稱這個區間連號區間。當N很
歷屆試題翻硬幣
clas 直接 iostream 正在 字符 color 輸出 nbsp esp 問題描述 小明正在玩一個“翻硬幣”的遊戲。 桌上放著排成一排的若幹硬幣。我們用 * 表示正面,用 o 表示反面(是小寫字母,不是零)。 比如,可能情形是:**
(藍橋杯)2018JAVA B組 日誌分析
順序輸出 輸入 lis ont 輸出格式 system i++ iterator 一個 日誌統計 小明維護著一個程序員論壇。現在他收集了一份"點贊"日誌,日誌共有N行。其中每一行的格式是: ts id 表示在ts時刻編號id的帖子收到一個"贊"。 現在小明想統計有哪
藍橋杯 歷屆試題 九宮重排 (bfs+康託展開去重優化)
Description 如下面第一個圖的九宮格中,放著 1~8 的數字卡片,還有一個格子空著。與空格子相鄰的格子中的卡片可以移動到空格中。經過若干次移動,可以形成第二個圖所示的局面。 我們把第一個圖的局面記為:12345678. 把第二個圖的局面記為:123.46758 顯然是按從
藍橋杯 歷屆試題 九宮重排 (八數碼問題--康託展開去重 + bfs搜尋)
題意: 簡單的八數碼問題: 給你兩個狀態 求最少步數。 可以把點變成9: 這樣,9個數都不一樣,相當於是階乘的排列。 直接用bfs 搜尋 康託展開去重即可。 #include <cstdio> #include <cstring> #include
藍橋杯歷屆試題 危險係數(dfs或者並查集求無向圖關於兩點的割點個數)
Description 抗日戰爭時期,冀中平原的地道戰曾發揮重要作用。 地道的多個站點間有通道連線,形成了龐大的網路。但也有隱患,當敵人發現了某個站點後,其它站點間可能因此會失去聯絡。 我們來定義一個危險係數DF(x,y): 對於兩個站點x和y (x != y), 如果能找到一個站點z,當
藍橋杯 矩陣翻硬幣(打表+二分)
網上其他人的答案好像都是用數學方法解決的。做這道題的時候一看就感覺是找規律的題,所以先打個表。因為後面要用到大數處理,所以是Java語言打表程式碼(就是按題目意思暴力):import java.io.FileNotFoundException; import java.io.
藍橋杯 歷屆試題 九宮重排(bfs)
問題描述 如下面第一個圖的九宮格中,放著 1~8 的數字卡片,還有一個格子空著。與空格子相鄰的格子中的卡片可以移動到空格中。經過若干次移動,可以形成第二個圖所示的局面。 我們把第一個圖的局面記為:12345678. 把第二個圖的局面記為:123.46758 顯然是按從
藍橋杯:矩陣翻硬幣(大數開根號)
對於10%的資料,n、m <= 10^3; 對於20%的資料,n、m <= 10^7; 對於40%的資料,n、m <= 10^15; 對於10%的資料,n、m <= 10^1000(10的1000次方)。 我的思路:他是問翻之前有多少個硬幣是反面朝上的,所以這個反面朝上的