思维题+set URAL 1718 Rejudge

 

题目传送门

 1 /*  2  题意:数据加10组,再删掉第6组数据,问rejudge后最少最多几个作者收到邮件  3  思维题:当错在6时结果是不一定,错在7时是一定改变,因为会变成6  4  思路没错,但用结构题排序一直WA,代码有毒!学习使用set容器。  5 */  6 #include <cstdio>  7 #include <algorithm>  8 #include <cstring>  9 #include <cmath> 10 #include <string> 11 #include <iostream> 12 #include <set> 13 using namespace std; 14 15 const int MAXN = 1e3 + 10; 16 const int INF = 0x3f3f3f3f; 17 string name, res; 18 set<string> mn, mx; 19 20 int main(void) //URAL 1718 Rejudge 21 { 22 // freopen ("H.in", "r", stdin); 23 24 int n; scanf ("%d", &n); 25 for (int i=1; i<=n; ++i) 26  { 27 cin >> name >> res; 28 if (res == "CE") continue; 29 else if (res == "AC") 30  { 31 mx.insert (name); continue; 32  } 33 else 34  { 35 int x; scanf ("%d", &x); 36 if (x == 6) mx.insert (name); 37 else if (x == 7) 38  { 39  mn.insert (name); mx.insert (name); 40  } 41  } 42  } 43 44 printf ("%d %d\n", mn.size (), mx.size ()); 45 46 return 0; 47 }

 

你可能感兴趣的:(set)