プログラム演習 リストの除去

自作のプログラム演習問題

[a,b,b,a,c]のようなflattenなリストAが与えられる。

リストB群と得点が与えられる
[b,b]15ポイント
[a,a,c]5ポイント
[b,a]14ポイント
[a,b]7ポイント
リストAの連続した一部分とリストBがマッチすれば、その部分をリストAから除去できる。
例えば
[a,b,b,a,c]から[b,b]を除去して15ポイント [a,a,c]になるので[a,a,c]を除去して5ポイント、計20ポイントという具合である。
他の除去の仕方としては
[a,b,b,a,c]から[b,a]を除去して14ポイント[a,b,c]から[a,b]を除去して7ポイント、残りは[c]だけになるのでこれ以上除去できず21ポイントである。

色々なリストAとリストB群が与えられたとき、そのリストで得られるポイントの最大値を求めよ。
最終更新:2015年10月29日 09:09