字串(簡單貪心)

2021-08-18 11:12:40 字數 701 閱讀 2023

時間限制:1000 ms  |  記憶體限制:65535 kb

難度:1

描述shiva得到了兩個只有加號和減號的字串,字串長度相同。shiva一次可以把乙個加號和它相鄰的減號交換。他想知道最少需要多少次操作才能把第乙個字串變換成第二個字串。你現在要去幫助他完成那個這個問題。

輸入多組測試資料

每組資料有兩行,每行包含乙個由」+」和」-「最成的字串。每個子符串長度不超過5000。

輸出僅乙個整數,輸出最少需要操作的次數。如果答案不存在,輸出-1。

樣例輸入

樣例輸出

思路:讀完題思路很清晰,遍歷比較每個字串元素是否相同,不同則判斷操作次數並累加。用到了貪心的思想,並不抽象,很直觀。感覺該題和貪心問題的開燈關燈問題很像。(但我還是入了考慮不全面的坑,實在是太菜了)。

**如下:

#include#include#include#includeusing namespace std;

int main()

for(i=0;iif(a!=b)

for(i=0;i}}}

printf("%d\n",s);

s1.clear();

s2.clear();//因為是多組資料輸入,所以字串要清空

}return 0;

}

模擬題 字串 列舉 貪心 字串

題目描述 小林與亮亮正在做乙個遊戲。小林隨意地寫出乙個字串,字串只由大寫字母組成,然後指定乙個非負整數m mm,亮亮可以進行至多m mm次操作,每次操作為交換相鄰兩個字元。亮亮的目標是使得操作後的字串出現最長相同的字元的長度最大。你能幫亮亮計算一下這個最大長度是多少嗎?輸入格式 第一行乙個字串sss...

貪心 字串 拼數

原題鏈結 不知道這是第幾次做這類題了 對於兩個數a和b,我們考慮微調 若a放在前面,則數字為 a b 這裡的 號表示將b連在a後面 若b放在前面,則數字為 b a 則只需比較a b與b a的大小關係即可 即可以判斷哪個數一定放在前面問題來了,怎樣實現呢,兩兩對比?我們發現string 剛好滿足我們需...

字串 簡單 1544 整理字串

題目 給你乙個由大小寫英文本母組成的字串 s 乙個整理好的字串中,兩個相鄰字元 s i 和 s i 1 其中 0 i s.length 2 要滿足如下條件 若 s i 是小寫字元,則 s i 1 不可以是相同的大寫字元。若 s i 是大寫字元,則 s i 1 不可以是相同的小寫字元。請你將字串整理好...