mirror of
https://github.com/Kiritow/OJ-Problems-Source.git
synced 2024-03-22 13:11:29 +08:00
Create 807_acmtest.cpp
This commit is contained in:
parent
e844602a1e
commit
fa5d5a5355
101
NYOJ/807_acmtest.cpp
Normal file
101
NYOJ/807_acmtest.cpp
Normal file
|
@ -0,0 +1,101 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <string>
|
||||
#include <map>
|
||||
using namespace std;
|
||||
struct status_t
|
||||
{
|
||||
int kill;
|
||||
int ctime;
|
||||
int ckill;
|
||||
status_t()
|
||||
{
|
||||
kill = 0;
|
||||
ctime = -50;
|
||||
ckill = 0;
|
||||
}
|
||||
void die()
|
||||
{
|
||||
kill = 0;
|
||||
ctime = -50;
|
||||
ckill = 0;
|
||||
}
|
||||
void killkill(const char *name, int t)
|
||||
{
|
||||
// calc ckill
|
||||
if (t - ctime <= 10)
|
||||
{
|
||||
ctime = t;
|
||||
ckill++;
|
||||
}
|
||||
else
|
||||
{
|
||||
ctime = t;
|
||||
ckill = 1;
|
||||
}
|
||||
if (ckill == 2)
|
||||
printf("%s has Double Kill\n", name);
|
||||
else if (ckill == 3)
|
||||
printf("%s has Triple Kill\n", name);
|
||||
else if (ckill == 4)
|
||||
printf("%s has Ultra Kill\n", name);
|
||||
else if (ckill >= 5)
|
||||
printf("%s has Rampage\n", name);
|
||||
// calc kill
|
||||
kill ++;
|
||||
if (kill == 3)
|
||||
printf("%s is Killing Spree\n", name);
|
||||
else if (kill == 4)
|
||||
printf("%s is Dominating\n", name);
|
||||
else if (kill == 5)
|
||||
printf("%s is Mega Kill\n", name);
|
||||
else if (kill == 6)
|
||||
printf("%s is Unstoppable\n", name);
|
||||
else if (kill == 7)
|
||||
printf("%s is Wicked Sick\n", name);
|
||||
else if (kill == 8)
|
||||
printf("%s is M-m-m-m...onster Kill\n", name);
|
||||
else if (kill == 9)
|
||||
printf("%s is Godlike\n", name);
|
||||
else if (kill >= 10)
|
||||
printf("%s is Beyond Godlike\n", name);
|
||||
|
||||
}
|
||||
};
|
||||
int N, M;
|
||||
int main()
|
||||
{
|
||||
int T, i;
|
||||
int t1, t2, t;
|
||||
char s1[100], s2[100];
|
||||
scanf("%d", &T);
|
||||
while (T--)
|
||||
{
|
||||
map<string, status_t> m;
|
||||
scanf("%d", &N);
|
||||
bool isfirstkill = true;
|
||||
for (i=0; i<N; i++)
|
||||
{
|
||||
scanf("%s %*s %s %*s %d:%d", s1, s2, &t1, &t2);
|
||||
t = 60 * t1 + t2;
|
||||
string p1(s1), p2(s2);
|
||||
if (p1 == p2)
|
||||
{
|
||||
m[p1].die();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isfirstkill)
|
||||
{
|
||||
printf("%s has First Blood\n", s1);
|
||||
isfirstkill = false;
|
||||
}
|
||||
// calc ckill
|
||||
m[p2].die();
|
||||
m[p1].killkill(s1, t);
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user