TCO11 Round1 Easy(250) TripleStrings
TripleStrings
init[k..n-1] == goal[0..n-k-1] ならば、init[0..k-1]のうちoをBにxをCに振り分けることで、2kでgoalにできる。oxxox → ooxxo のように答えが2nになる場合もある。
#include <string> using namespace std; class TripleStrings{public: int getMinimumOperations( string init, string goal ) { int n = (int)init.size(); for ( int i=0; i<n; i++ ) if ( init.substr(i) == goal.substr(0,n-i) ) return 2*i; return 2*n; }};