2008-12-02
SRM428
みんなでカレーを食べてTopcoderをする会#3 - isocchiの日記 - ハチロク世代にMishoと一緒に参加.
ThePalidromeだけを提出した.130点...
ThePalidrome
ある文字列がpalindromeを考えるときに「文字列の長さが偶数のときに,中央が...」とか考えはじめるとはまる.偶数でも奇数でも素直に次のようにすればいい.
bool isParindrome(string &s) { string rev = s; reverse(rev.begin(), rev.end()); return (rev == s); }
TheLuckyString
next_permutationを覚えた.ソートしてから使う.
int ret=0; string s = "abcdefghij"; sort(s.begin(), s.end()) if (isLucky(s)) ret++; while(next_permutation(s.begin(), s.end())) { if (isLucky(s)) ret++; }
文字列なら10文字ぐらいなら2秒以内で終わる.11文字だと終わらなさげ.
実行が2秒どうかなぁ,というときにはnitoyonさんのように最適化オプションにも注意したい.
TheDictionary
木の探索ぽいのまでわかって,どっちに辿ればいいかをCombinationで決めればいいんじゃね? とか思ったが時間なし.
カレー
おいしかったです!
コメント

