[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 01/12 20:25 / Filesize : 70 KB / Number-of Response : 441
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

TopCoder



319 名前:315 mailto:sage [2007/12/14(金) 22:45:28 ]
連続書き込みすいません。

Inv 2001 R1 の 250 点の問題を解いてみた。
C++ まだちゃんとわかってないけど、もっとこうしたほうが良いとかありますか?

lass HowEasy {
public:
int calcPoints( int word_len, int words ) {
if ( words == 0 ) { return 250; }
int average = word_len / words;
if ( average <= 3 ) { return 250; }
if ( average <= 5 ) { return 500; }
return 1000;
}
bool is_word( string word ) {
for ( int i = 0; i < word.size(); i++ ) {
if ( !( word[ i ] <= 'z' && word[ i ] >= 'a' ) && !( word[ i ] <= 'Z' && word[ i ] >= 'A' ) ) { return false; }
}
return true;
}
int pointVal( string statement ) {
stringstream ss; string w; int words = 0; int word_len = 0;
ss << statement;
while ( ss >> w ) {
if ( w.size() > 0 && w[ w.size() - 1 ] == '.' ) { w = w.substr( 0, w.size() - 1 ); }
if ( is_word( w ) && w.size() > 0 ) { words++; word_len += w.size(); }
}
cout << word_len << " " << words;
return calcPoints( word_len, words );
}
};






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<70KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef