- 2008-12-02 (火) 23:41
- TopCoder
Place: 291
Score: 235.64(250)
Rating: 1895 → 1869
最近さがりっぱなしです.がっかり.
TopCoder SRM 428, DIV I, 250, The Lucky String
Overview
文字列の中に連続する文字がなければLucky Stringと定義し,与えられた文字列を並び替えてできるLucky Stringの数を調べる.
Comment
next_permutationの力をかりた.しかしその判断の速度の早さで順位がついた気がする今日この頃.それもnext_permutationって戻る時に返り値が違うんですね.はじめて知りました.
001: #include <string>
002: #include <algorithm>
003: using namespace std;
004:
005: struct TheLuckyString {
006: int count(string s) {
007: sort(s.begin(), s.end());
008: int cnt = 0;
009: do {
010: int flg = 1;
011: for (int i = 1; i < s.size(); i++)
012: if (s[i - 1] == s[i]) flg = 0;
013: cnt += flg;
014: } while (next_permutation(s.begin(), s.end()));
015: return cnt;
016: }
017: };
002: #include <algorithm>
003: using namespace std;
004:
005: struct TheLuckyString {
006: int count(string s) {
007: sort(s.begin(), s.end());
008: int cnt = 0;
009: do {
010: int flg = 1;
011: for (int i = 1; i < s.size(); i++)
012: if (s[i - 1] == s[i]) flg = 0;
013: cnt += flg;
014: } while (next_permutation(s.begin(), s.end()));
015: return cnt;
016: }
017: };
TopCoder SRM 428, DIV I, 500, The Long Palindrome
Overview
ある文字数以下である種類数以下のアルファベットを使った回文の種類数を答えよ.
Comment
わからない\(^o^)/Σ[k=1..n]k^aを高速に計算するプログラムを書いて満足したところで終了しました.しかしこれはあまりにも面倒なので別の方法があるんだろうけど相変わらず他の人のコードが読めないという…orz.
- Newer: The 1st Imos Contest が明日に迫りました
- Older: The 1st Imos Contest 告知
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://imoz.jp/2008/12/topcoder-srm-428/trackback/
- Listed below are links to weblogs that reference
- TopCoder SRM 428 from 超現実いもす(imos)の日記