hihocoder 1039 字元消除

2021-07-16 06:47:59 字數 1019 閱讀 7477

時間限制:

1000ms

單點時限:

1000ms

記憶體限制:

256mb

小hi最近在玩乙個字元消除遊戲。給定乙個只包含大寫字母"abc"的字串s,消除過程是如下進行的:

1)如果s包含長度超過1的由相同字母組成的子串,那麼這些子串會被同時消除,餘下的子串拼成新的字串。例如"abccbcccaa"中"cc","ccc"和"aa"會被同時消除,餘下"ab"和"b"拼成新的字串"abb"。

2)上述消除會反覆一輪一輪進行,直到新的字串不包含相鄰的相同字元為止。例如」abccbcccaa」經過一輪消除得到"abb",再經過一輪消除得到"a"

遊戲中的每一關小hi都會面對乙個字串s。在消除開始前小hi有機會在s中任意位置(第乙個字元之前、最後乙個字元之後以及相鄰兩個字元之間)插入任意乙個字元('a','b'或者'c'),得到字串t。t經過一系列消除後,小hi的得分是消除掉的字元的總數。

請幫助小hi計算要如何插入字元,才能獲得最高得分。

輸入第一行是乙個整數t(1<=t<=100),代表測試資料的數量。

之後t行每行乙個由'a''b''c'組成的字串s,長度不超過100。

對於每一行輸入的字串,輸出小hi最高能得到的分數。

#include #include using namespace std;
//用來擦出字母,返回擦出個數

int erase(string &s)

//下標到倒數第二 或者 不相同 跳出

if (j == s.size() - 2 || s[j] != s[j + 1])

}} }

//修改s

s = st;

return sum;

}int main()

if (max < sum2)

max = sum2;

}} cout << max << endl;

} return 0;

}

hihocoder 1039 字元消除

小hi最近在玩乙個字元消除遊戲。給定乙個只包含大寫字母 abc 的字串s,消除過程是如下進行的 1 如果s包含長度超過1的由相同字母組成的子串,那麼這些子串會被同時消除,餘下的子串拼成新的字串。例如 abccbcccaa 中 cc ccc 和 aa 會被同時消除,餘下 ab 和 b 拼成新的字串 a...

Hihocoder 1039 字元消除

小hi最近在玩乙個字元消除遊戲。給定乙個只包含大寫字母 abc 的字串s,消除過程是如下進行的 1 如果s包含長度超過1的由相同字母組成的子串,那麼這些子串會被同時消除,餘下的子串拼成新的字串。例如 abccbcccaa 中 cc ccc 和 aa 會被同時消除,餘下 ab 和 b 拼成新的字串 a...

hihocoder1039 字元消除

具體參照 hihocoder 因為字串長度最大為100,只有abc三個字元,所以只有300種情況,每種情況最差處理是o 100 2 所以即便最差情況也只有3e6的計算次數,不足10ms。因此只需要實現窮舉演算法即可,先插入字元,然後判斷會消除多少字元。輸入字串,返回消除字元的數目,同時字串改變為消除...