寫題解讓自己可以review一次自己寫了甚麼…
幾百年沒刷題,程式能力依然爛QQ

  • 題目
  1. 有一段字串需要照他的規定做轉換,例如例題的G就要換成GNU’s
  2. 給了原字串要問經過幾次轉換,他詢問的該個字母有幾個,最多轉換10000次
  3. 每個答案要間隔一個換行
  • 解題思路

    • 因為題目只是將一個字母轉換成字串,因此我們只需要計算每個字母在每次轉換的總數有幾個,不需照著做轉換。
    • 而題目有提到會出現的字元Ascii是從33~126之間,因此只要維護一個dp表格(我是直接開200)
    • 用tmp紀錄字母在轉換時會增加多少個不同的字母數量,接著看上一層狀態該個字母有多少就乘以他的幾倍,紀錄到下一格狀態
    • 如果紀錄每次狀態,陣列空間會太大,因此每次轉換過後,需要將結果狀態回灌給上一層,這樣只需要兩層的空間。
  • code