藍橋杯 翻硬幣報告,簡單思維

2021-10-09 12:48:07 字數 738 閱讀 4908

小明正在玩乙個「翻硬幣」的遊戲。

桌上放著排成一排的若干硬幣。我們用 * 表示正面,用 o 表示反面(是小寫字母,不是零)。

比如,可能情形是:**oo***oooo

如果同時翻轉左邊的兩個硬幣,則變為:oooo***oooo

現在小明的問題是:如果已知了初始狀態和要達到的目標狀態,每次只能同時翻轉相鄰的兩個硬幣,那麼對特定的局面,最少要翻動多少次呢?

我們約定:把翻動相鄰的兩個硬幣叫做一步操作。

在先開始我看出了一絲的規律,規律與兩個不同的下標有關,但是無法系統的歸為一類。

這位老哥總結了一下規律,蠻詳細的。藍橋杯歷屆試題翻硬幣 (c/c++**)規律題

*o*o*o

o*oo*

*

又翻到乙個新題解!

眼前一亮!

翻硬幣 (c語言**)

做法就是,同時遍歷兩個串,發現不同的話就改變i+1位的字元(預設進行了一次翻轉),與此同時進行計數,最後輸出計數結果即可!

其實本質上來講就是模擬,但是這讓先開始就找規律的我眼睛一亮,心想」這還能這樣做?!!「

#include

#include

using

namespace std;

//@start: 2020-08-09 17:52:19

intmain()

} cout

}

藍橋杯 翻硬幣

問題描述 小明正在玩乙個 翻硬幣 的遊戲。桌上放著排成一排的若干硬幣。我們用 表示正面,用 o 表示反面 是小寫字母,不是零 比如,可能情形是 oo oooo 如果同時翻轉左邊的兩個硬幣,則變為 oooo oooo 現在小明的問題是 如果已知了初始狀態和要達到的目標狀態,每次只能同時翻轉相鄰的兩個硬...

藍橋杯 翻硬幣

小明正在玩乙個 翻硬幣 的遊戲。桌上放著排成一排的若干硬幣。我們用 表示正面,用 o 表示反面 是小寫字母,不是零 比如,可能情形是 oo oooo 如果同時翻轉左邊的兩個硬幣,則變為 oooo oooo 現在小明的問題是 如果已知了初始狀態和要達到的目標狀態,每次只能同時翻轉相鄰的兩個硬幣,那麼對...

藍橋杯翻硬幣

問題描述 小明正在玩乙個 翻硬幣 的遊戲。桌上放著排成一排的若干硬幣。我們用 表示正面,用 o 表示反面 是小寫字母,不是零 比如,可能情形是 oo oooo 如果同時翻轉左邊的兩個硬幣,則變為 oooo oooo 現在小明的問題是 如果已知了初始狀態和要達到的目標狀態,每次只能同時翻轉相鄰的兩個硬...