14/05/24 22:12:01.78
なるほど、確かにその通りです。では、素直にいきます。これではどうでしょう。
記号列を食べる関数を考えます。
その関数は、>>631の方法の深さを全ての括弧についてチェックし、
深さ0の括弧のペアの数は、○個
深さ1の括弧のペアの数は、△個
...
と言うように、深さと、その括弧の数を返します。
そして、この返り値は、次の方法で比較可能で、
最大の深さの大小、同じなら、その深さの数の大小、
同じなら、次の深さの大小、同じならその深さの数の大小、...
で判断します。
この関数を使えば、置き換え前と、置き換え後を比べると、必ず小さくなっていきます。