处女座与cf
https://ac.nowcoder.com/acm/contest/327/B
C++版本一
題解:模擬
#include <bits/stdc++.h> using namespace std; map<string,int> mp; int vis[505]; int a[505][10]; int b[505][10]; int r[10]={500,1000,1500,2000,2500}; int score[505]; int n,m;int main() {cin>>n>>m;for (int i=1;i<=n;i++){string s;cin>>s;mp[s]=i;}for (int i=1;i<=m;i++){int t;string name,id,result;cin>>t>>name>>id>>result;int x=mp[name];vis[x]=1;if (result=="CE"){b[x][id[0]-'A']=0;}else if (result=="AC"){b[x][id[0]-'A']=max(r[id[0]-'A']/10*3,r[id[0]-'A']-t*(r[id[0]-'A']/250)-50*a[x][id[0]-'A']);a[x][id[0]-'A']++;}else{b[x][id[0]-'A']=0;a[x][id[0]-'A']++;}}for (int i=1;i<=n;i++){score[i]=0;for (int j=0;j<5;j++){score[i]+=b[i][j];}}int x=1,y=0;for (int i=1;i<=n;i++){if (vis[i]==1) y++;}for (int i=1;i<=n;i++){if (score[i]>score[mp["cnz"]]) x++;}if (vis[mp["cnz"]]==1){printf("%d\n",score[mp["cnz"]]);printf("%d/%d\n",x,y);}else printf("-1\n");return 0; }?
總結(jié)