Entries

スポンサーサイト (この記事を編集する[管理者用])

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://rsujskf.blog32.fc2.com/tb.php/1014-6d27d407
この記事にトラックバックする(FC2ブログユーザー)

SRM457 DIV1 EASY/DIV2 MEDIUM - TheTriangleBothDivs (この記事を編集する[管理者用])

Source

TopCoder SRM457 DIV1 EASY (250pt)
TopCoder SRM457 DIV2 MEDIUM (500pt)
Problem Statement
SRM457 参加記録

問題概要

一部が壊れて表示されていない時計の表示が与えられる.
それを表従事に直したとき,考えうる時刻の中で辞書順最小のものを求める問題.
形式は23:45 GMT+7のような感じで,時間は00~23で,GMT-0はない.

解法

全部試す.

C++によるスパゲッティなソースコード
// #includeとusing namespace std;は略

#define REP(i,a,b) for(i=a;i<b;i++)
#define rep(i,n) REP(i,0,n)

class TheTriangleBothDivs {
public:
string fix(string str) {
  int i,j,k,m;
  char buf[100];

  rep(i,24) rep(j,60) REP(k,-9,10){
    sprintf(buf,"%02d:%02d GMT%+d",(i+k+24)%24,j,k);
    rep(m,11) if(str[m]!='?'&&str[m]!=buf[m]) break;
    if(m==11){
      sprintf(buf,"%02d:%02d",i,j);
      return buf;
    }
  }

  return "failed";
}

};

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://rsujskf.blog32.fc2.com/tb.php/1014-6d27d407
この記事にトラックバックする(FC2ブログユーザー)

Appendix

Recent Articles

ブログ内検索

Ads


(プライバシーポリシー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。