「2211~2220」の編集履歴(バックアップ)一覧はこちら

2211~2220」(2012/03/15 (木) 20:53:58) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*2219 THE BYDOLM@STER http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2219 アイドルユニットのメンバーを決める問題。 名前読み込み時の動作で一回ポカミス。 問題自体は個別の動的計画法が3つ並んでいるだけの簡単問題なので大したことはない。 #include<stdio.h> #include<string.h> #include <algorithm> int vdlMemo[3][302]; void calc(int n,int m){ char name[32],re; int c,vdl,ans=0; memset(vdlMemo,-1,sizeof(vdlMemo)); vdlMemo[0][0]=vdlMemo[1][0]=vdlMemo[2][0]=0; for(int i=0;i<n;i++){ scanf("%c%[^\n] %d",&re,name,&c); for(int j=0;j<3;j++){ scanf("%d",&vdl); for(int k=0;k<=m;k++){ if(k+c>m)continue; if(vdlMemo[j][k]!=-1){ vdlMemo[j][k+c]=std::max(vdlMemo[j][k+c],vdlMemo[j][k]+vdl); ans=std::max(vdlMemo[j][k+c],ans); } } } } printf("%d\n",ans); } int main(){ int n,m; while(scanf("%d",&n)!=EOF){ scanf("%d",&m); calc(n,m); } }

表示オプション

横に並べて表示:
変化行の前後のみ表示: