915 字串 貪心 模擬

2021-07-04 21:49:22 字數 717 閱讀 1407

時間限制:

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,由大小寫英文本母組成。第二行包含乙個數字,表示大小寫敏感的...