2017中国大学生程序设计竞赛 - 女生专场A【模拟】
【题意】:求AC题数和总时长。
【分析】:模拟。设置标记数组记录AC与否,再设置错题数组记录错的次数。罚时罚在该题上,该题没AC则不计入总时间,AC则计入。已经AC的题不用再管,因为不会再罚时。
【代码】:
#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<string> #include<vector> #include<stack> #include<bitset> #include<cstdlib> #include<cmath> #include<set> #include<list> #include<deque> #include<map> #include<queue> #define ll long long #define inf 0x3fffffff #define mem(a,b) memset(a,b,sizeof(a)) using namespace std; int main() { int t; int n,m; int x,hh,mm,num,time; char s[10]; int vis[1000],wa[1000];//标记AC与否 标记某题WA次数 scanf("%d",&t); while(t--) { num=time=0; mem(vis,0); mem(wa,0); scanf("%d%d",&n,&m); for(int i=0;i<m;i++) { scanf("%d%d:%d%s",&x,&hh,&mm,s); x-=1000; if(vis[x])//AC过的不再访问 continue; if(s[0]=='A')//A了的话 { num++;//A题数++ time+=hh*60+mm+wa[x]*20; vis[x]=1; } else { wa[x]++; } } printf("%d %d\n",num,time); } }