Entries

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

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

コメント

コメントの投稿

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

トラックバック

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

SRM475 DIV2 EASY - RabbitVoting (この記事を編集する[管理者用])

Source

TopCoder SRM475 DIV2 EASY (250pt)
Problem Statement

問題概要

ウサギ50匹以下いる.
それぞれ,いるウサギの名前を書いて投票する.
最も獲得票の多いうさぎの名前を求める問題.
ただし.自分自身に投票したら無効票となり,1位が複数いるなら空文字列を返す.

解法

やるだけ.

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 RabbitVoting {
public:
string getWinner(vector <string> names, vector <string> votes) {
  int i,j,k,n;
  int in[60],mx,res;

  n=names.size();
  rep(i,n) in[i]=0;

  rep(i,n){
    rep(j,n) if(votes[i]==names[j]) break;
    if(j==i || j==n) continue;
    in[j]++;
  }

  mx=0; k=0;
  rep(i,n){
    if(mx < in[i]) mx = in[i], k=0;
    if(mx==in[i]) k++, res=i;
  }

  if(k>=2) return "";
  return names[res];
}

};

コメント

コメントの投稿

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

トラックバック

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

Appendix

Recent Articles

ブログ内検索

Ads


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