SRM 471 EllyPlaylists
class EllysPlaylists { public: int countPlaylists(vector <string> songs, int K) { int ret = 0; vector<string>::iterator it = songs.begin(); while( it != songs.end() ){ ret += seq( *it, K, 1, songs ); it++; } return ret; } int seq(string song, int K, int n, vector<string> songs){ int ret = 0; int len = song.size(); string suffix = song.substr( len - 3 ); if( K == n ) return 1; vector<string>::iterator it = songs.begin(); while( it != songs.end() ){ string prefix = (*it).substr(0, 3); if( suffix == prefix ) ret += seq( *it, K, n + 1, songs); ++it; } return ret; } };
ここまで書いたところで鯖落ち.CASE5が延々と終了しなくなってるのでこのままだと駄目.それ以外はPASSしていた.修正したいが問題もみれないので今日はここまでにする.