hihocoder1039 字元消除

2021-07-25 02:54:14 字數 939 閱讀 6307

具體參照

hihocoder**。

因為字串長度最大為100,只有abc三個字元,所以只有300種情況,每種情況最差處理是o(100^2)。所以即便最差情況也只有3e6的計算次數,不足10ms。

因此只需要實現窮舉演算法即可,先插入字元,然後判斷會消除多少字元。

輸入字串,返回消除字元的數目,同時字串改變為消除之後的字串。例如str="abcbcccaa",函式值返回為5,str變為"abcb"。

int eliminate(char *str);

for (int i = 0;i < len;++i)

pre = str[i];

}if (result > 0)

else

return 0;

}

輸入字串,返回通過插入字元可以得到的最多消除字元數目。是列舉在所有位置上插入abc的所有情況,返回其中的最大值。

int cal2(char *str)

}return result;

}

只是輸入輸出,此處跳過。

先消除字串,然後再插入字元消除。初心是減少列舉的次數,但是反例是"aaba"。

int cal_highest_score(char *str)

strcpy(str,tmp_str);

return eli + eli2 + 1;

}

列舉所有字元長度小於100且只含有abc字元的字串,比較正確函式與錯誤函式的結果以得到反例。

int main()

; int depth = 0,tmp;

while (depth > -1)

else

++depth;}}

}

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...

hihocoder 1039 字元消除

時間限制 1000ms 單點時限 1000ms 記憶體限制 256mb 小hi最近在玩乙個字元消除遊戲。給定乙個只包含大寫字母 abc 的字串s,消除過程是如下進行的 1 如果s包含長度超過1的由相同字母組成的子串,那麼這些子串會被同時消除,餘下的子串拼成新的字串。例如 abccbcccaa 中 c...