提问:记录统计程序 C++
网友回答:
程序参考
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
enum State {AC=0,CE,WA,TLE,RE};
istream & operator>> (istream &in, State &s)
{
static const string ss[5]= {"AC","CE","WA","TLE","RE"};
string t;
in >> t;
for(int i=0; i<5; i++)
if(t==ss[i])
{
s=(State)i;
break;
}
return in;
}
int find(State *s,int b,int e,State t)
{
int i,ct=0;
for(i=b; i<=e; i++)
{
if(s[i]==t)
ct++;
}
return ct;
}
int main()
{
int m,n,i,r1,r2;
State t;
cin >> m >> n;
State *s=new State[m+1];
for(i=1; i<=m; i++)
cin >> s[i];
for(i=0; i<n; i++)
{
cin >> r1 >> r2 >> t;
cout << find(s,r1,r2,t) << endl;
}
return 0;
}
测试结果