UAPC 2011 A Popularity Estimation
問題
日本語なので本文参照。
方針
制約が小さく、区間も整数なので、配列で持てばいい。
ソースコード
int main(){ int n; while(cin>>n,n){ int cnt[40]={},d[40][40],nd[40]={}; int pt[40]={}; string name[40]; rep(i,n){ cin>>name[i]; int m; cin>>m; rep(j,m)cin>>d[i][nd[i]], cnt[ d[i][nd[i]++] ]++; } rep(i,n)rep(j,nd[i])pt[i]+=max(1,n+1-cnt[d[i][j]]); int mn=1e9; string ans; rep(i,n)if(pt[i]<mn||pt[i]==mn&&(ans.empty()||ans>name[i]))mn=pt[i], ans=name[i]; cout<<mn<<" "<<ans<<endl; } return 0; }