翻硬幣 不用改變原字串)

2021-10-18 16:14:30 字數 994 閱讀 3020

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

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

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

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

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

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

輸入格式

兩行等長的字串,分別表示初始狀態和要達到的目標狀態。

輸出格式

乙個整數,表示最小操作步數

資料範圍

輸入字串的長度均不超過100。

資料保證答案一定有解。

輸入樣例1:

**********

o****o****

輸出樣例1:

5

輸入樣例2:

*o**o***o***

*o***o**o***

輸出樣例2:

1思路

題目一定有界的情況下,兩個字串的第奇數個不同之處和第偶數個不同之處一定會被全翻一遍,最少步驟要求每兩個硬幣的組合只可能被翻一次,則只需要記錄每兩個不同之處之間的距離就是答案。

**

#include

using

namespace std;

intmain()

}else}}

cout << ans << endl;

}

replace java 無法改變原字串

內部使用,刪除部分字串 例如 從 1,2,3,4,5,6 中刪除 2,3,5 等 param prestr 初始字串,結尾沒有分號,param substr 需要刪除的字串 return 處理後的字串,結尾沒有分號,private string delsubstring string prestr,...

字串分割函式strtok 會改變原字串

標頭檔案 include 函式原型 char strtok char str,const char delimiters 函式功能 分割字串,將str分割成乙個個子串 函式引數 str 在第一次被呼叫的時候str傳入需要被分割字串的首位址 在後面呼叫的時候傳入null。delimiters 表示分割...

python中字串轉義 轉換 拼接 原字串詳解

python中的字串比較麻煩,那麼下面我們來看看字串都有哪些應用 1 字串和轉義字元 大家都知道python中的字串是有單引號或者雙引號括起來的,那麼當字串中也同樣出現了單引號或者雙引號時該怎麼辦呢?a 字串裡含有單引號 有三種解決辦法。1 可以用雙引號將字串括起來 2 直接用長字串 在python...