時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:1 描述
shiva得到了兩個只有加號和減號的字串,字串長度相同。shiva一次可以把乙個加號和它相鄰的減號交換。他想知道最少需要多少次操作才能把第乙個字串變換成第二個字串。你現在要去幫助他完成那個這個問題。
輸入多組測試資料
每組資料有兩行,每行包含乙個由」+」和」-「最成的字串。每個子符串長度不超過5000。
輸出僅乙個整數,輸出最少需要操作的次數。如果答案不存在,輸出-1。
樣例輸入
++-+--+-++--++
樣例輸出
4
貪心思想,如果不匹配,那就往後找到匹配的位置,然後模擬一步一步移動,並且累加移動的次數,直到字串完全匹配之後,輸出結果,如果在某個期間,找不到可以匹配的字元,那麼就肯定不能匹配,就要輸出 - 1了......
#include#includechar a[5005],b[5005];
int search(int s,char x)//查詢距離最近的可以匹配的位置
} return -1;//找不到...
}void swap(int l,int r)
}void slove()
{ int cnt=0,lena=strlen(a);
for(int i=0;i
南陽題目915 字串
時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述 shiva得到了兩個只有加號和減號的字串,字串長度相同。shiva一次可以把乙個加號和它相鄰的減號交換。他想知道最少需要多少次操作才能把第乙個字串變換成第二個字串。你現在要去幫助他完成那個這個問題。輸入多組測試資料 每組資料有兩...
NYOJ 題目915 字串(字串,水題)
時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述shiva得到了兩個只有加號和減號的字串,字串長度相同。shiva一次可以把乙個加號和它相鄰的減號交換。他想知道最少需要多少次操作才能把第乙個字串變換成第二個字串。你現在要去幫助他完成那個這個問題。輸入多組測試資料 每組資料有兩行...
2014 09 3 字串匹配(模擬,字串處理)
給出乙個字串和多行文字,在這些文字中找到字串出現的那些行。你的程式還需支援大小寫敏感選項 當選項開啟時,表示同乙個字母的大寫和小寫看作不同的字元 當選項關閉時,表示同乙個字母的大寫和小寫看作相同的字元。輸入格式 輸入的第一行包含乙個字串 s,由大小寫英文本母組成。第二行包含乙個數字,表示大小寫敏感的...