几乎给我整玉玉了,橙题都调不出来。
代码:
#include <cstdio>
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
bool as1 = false, as2 = false, as3 = false, as4 = false, as5 = false;
bool fx1 = false, fx2 = false, fx3 = false, fx4 = false, fx5 = false;
bool cm1 = false, cm2 = false, cm3 = false;
string t1, t2, t3;
string s1, s2, s3, s4, s5;
int n;
scanf("%d", &n);
cin >> t1 >> t2 >> t3;
cin >> s1 >> s2 >> s3 >> s4 >> s5;
if (s1 > s2) swap(s1, s2);
if (s1 > s3) swap(s1, s3);
if (s1 > s4) swap(s1, s4);
if (s1 > s5) swap(s1, s5);
if (s2 > s3) swap(s2, s3);
if (s2 > s4) swap(s2, s4);
if (s2 > s5) swap(s2, s5);
if (s3 > s4) swap(s3, s4);
if (s3 > s5) swap(s3, s5);
if (s4 > s5) swap(s4, s5);
while (getchar() != '\n'); // 吃换行符
while (n--)
{
string comment;
char ch;
while ((ch = getchar()) != '\n') comment += ch;
while (!comment.empty() && (comment.back() == '\n' || comment.back() == '\r')) comment.pop_back();
if (comment == t1 + " came!") cm1 = true;
if (comment == t2 + " came!") cm2 = true;
if (comment == t3 + " came!") cm3 = true;
if (comment == t1 + " left!") cm1 = false;
if (comment == t2 + " left!") cm2 = false;
if (comment == t3 + " left!") cm3 = false;
if (comment == s1 + " started playing games!") as1 = true;
if (comment == s2 + " started playing games!") as2 = true;
if (comment == s3 + " started playing games!") as3 = true;
if (comment == s4 + " started playing games!") as4 = true;
if (comment == s5 + " started playing games!") as5 = true;
if (comment == s1 + " stopped playing games!") as1 = false;
if (comment == s2 + " stopped playing games!") as2 = false;
if (comment == s3 + " stopped playing games!") as3 = false;
if (comment == s4 + " stopped playing games!") as4 = false;
if (comment == s5 + " stopped playing games!") as5 = false;
if ((cm1 || cm2 || cm3) && as1) fx1 = true;
if ((cm1 || cm2 || cm3) && as2) fx2 = true;
if ((cm1 || cm2 || cm3) && as3) fx3 = true;
if ((cm1 || cm2 || cm3) && as4) fx4 = true;
if ((cm1 || cm2 || cm3) && as5) fx5 = true;
}
if (fx1) printf("%s ", s1.c_str());
if (fx2) printf("%s ", s2.c_str());
if (fx3) printf("%s ", s3.c_str());
if (fx4) printf("%s ", s4.c_str());
if (fx5) printf("%s ", s5.c_str());
if (fx1 && fx2 && fx3 && fx4 && fx5) printf("\nHow Bad Oiers Are!\n");
if (!fx1 && !fx2 && !fx3 && !fx4 && !fx5) printf("How Good Oiers Are!\n");
return 0;
}