码迷,mamicode.com
首页 > 其他好文 > 详细

BNU49101:rating计算

时间:2015-05-11 18:06:30      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:bnu

whalyzh最近参加了一个叫做BC(BNU CODER)比赛,比赛分为N场。参加的每个账号都有一个rating,初始时rating值为1500,每场比赛后系统会对参加的账号进行评价,如果评价为good,则该账号rating增加100分,但是不会超过3299;如果评价为bad,则该账号rating下降100分,但是不会低于0分。为了避免越做rating越低的情况,whalyzh注册了两个账号,每场比赛他只会使用rating低的账号(如果rating一样就随便用一个)。现在,他想知道N场比赛后rating高的那个账号rating是多少。

Input

输入数据有多组。

第一行输入一个整数T(T≤10),表示数据组数。

每组数据第一行为两个整数N(N≤10^3),代表比赛场数。

接下来N行每行一个字符串good或者bad,代表第i场比赛中whalyzh获得的评价。

Output

每组数据输出一个数,代表rating高的账号的rating值。

Sample Input

2
2
good
good
2
good
bad

Sample Output

1600
1600

Source

Author

hwq


#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <math.h>
#include <algorithm>
using namespace std;
#define ls 2*i
#define rs 2*i+1
#define up(i,x,y) for(i=x;i<=y;i++)
#define down(i,x,y) for(i=x;i>=y;i--)
#define mem(a,x) memset(a,x,sizeof(a))
#define w(a) while(a)
#define LL long long
const double pi = acos(-1.0);
#define N 105
#define mod 19999997
const int INF = 0x3f3f3f3f;
#define exp 1e-8

int t,n;
char str[100];

int main()
{
    int s[2];
    scanf("%d",&t);
    w(t--)
    {
        scanf("%d",&n);
        s[0] = s[1] = 1500;
        w(n--)
        {
            scanf("%s",str);
            if(str[0]=='g')
            {
                s[0]+=100;
            }
            else
            {
                s[0]-=100;
            }
            sort(s,s+2);
            s[0]=s[0]>3299?3299:s[0];
            s[0]=s[0]<0?0:s[0];
            s[1]=s[1]>3299?3299:s[1];
            s[1]=s[1]<0?0:s[1];
        }
        sort(s,s+2);
        printf("%d\n",s[1]);
    }
}


BNU49101:rating计算

标签:bnu

原文地址:http://blog.csdn.net/libin56842/article/details/45645267

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!