My Summary
总提交 : 161 测试通过 : 52
比赛描述
I have a dream that one day in the foyer of the ACM/ICPC World Finals Contest , I could solve all the problems and be the champion . But things always went beyond my mind , we just solved four problems .
We submitted Problem B at 29 minutes and got “ Accept “ , we passed Problem A at 85 minutes , then we got “Wrong” at 94 minutes on Problem G , but we soon got “Accept” at 98 minutes , then we submitted Problem D but got “Wrong” ….. At last , we passed Problem ABCG , and Problem D was still “Wrong” .
Now I have to write a summary about the contest , I read our submission states from PC^2 , and I need to list the problem states which illustrates the “Accept” problems and “Wrong” problems , Please help me to do so .
输入
The first line of input is one integer T ( T<=100 ) , giving the number of test cases in the input . Each test case starts with a line containing a positive integer N ( N<=100 ) , representing the number of the submission states. In the next N lines contains an integer t(0<=t<=300),the submission time.Then a character ( from ‘A’ to ‘J’ ) , the ID of submission problem follows . At last is a string ( “Accept” or “Wrong” ) , the states of this submission .
输出
For each test case , output two lines , the first line print “Accept” , follow by a colon , a space , then list the name of those accept problems in alphabetical ascending order , if there is no “Accept” problem ( what a shame ! ) , just leaves it blank . The second line is about “Wrong” states , the style of which is similar to the first line . Print a blank line after each test case .
样例输入
1
10
29 B Accept
85 A Accept
94 G Wrong
98 G Accept
120 D Wrong
170 C Wrong
183 C Accept
190 D Wrong
300 A Accept
300 B Wrong
样例输出
Accept: ABCG
Wrong: D
题目来源
NUPT ACM
#include<iostream>
#include<string>
#include<set>
using namespace std;
int main(){
int T,N,score;
char c;
string s;
set<char> sA,sW;
set<char>::iterator it;
cin>>T;
while(T--){
cin>>N;
sA.clear();
sW.clear();
while(N--){
cin>>score>>c>>s;
if(s=="Accept")
sA.insert(c);
else
sW.insert(c);
}
cout<<"Accept: ";
for(it=sA.begin();it!=sA.end();++it){
cout<<*it;
}
cout<<endl;
cout<<"Wrong: ";
for(it=sW.begin();it!=sW.end();++it){
if(!sA.count(*it)){
cout<<*it;
}
}
cout<<endl<<endl;
}
}