時間限制: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 不可以是相同的小寫字元。請你將字串整理好...