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

G诺亚方舟 (GDUTACM——2015新生杯初赛重现)

时间:2015-12-03 21:25:51      阅读:397      评论:0      收藏:0      [点我收藏+]

标签:

题目链接:http://gdutcode.sinaapp.com/problem.php?cid=1025&pid=6

Problem G: 诺亚方舟

Description

“终有一天,耶和华的光会普照大地,旧的世界将会毁灭,新的世界将会产生。”——《启示录·天启》 

2096118日,世界末日终于还是来临了。

而此时,世界上最后一个“神”——sytrakl 也已经苏醒。他按照《圣经》的指引,找到了唯一能解救人类的“诺亚方舟”,并向全世界宣布任何人都可以进入方舟避难。

所有的人类知道消息后都疯狂了,他们纷纷赶来。由于怕触怒“神”,他们老老实实的在诺亚方舟的门前排起了队(方舟在队伍的最右边)。

sytrakl在英国的圣保罗大教堂沉睡了几百年,即使已经苏醒,却还保留着英国的“绅士风度”。所以虽然方舟的体积足够大,但他还是决定让女人先行(即所有女人都在队伍右边)。于是他规定:

每一秒时间里,队伍里所有右边有男人的女人跟右边的男人调换位置。

sytrakl希望知道需要多少时间才能实现目的。然而sytrakl无所不能,但偏偏不懂编程。所以他找到了你(高兴吧!Excited!),希望你能帮他完成这个工作。

Ps:如果做不到,那你肯定药丸。

Input

 题目有多组输入。每组将给出一串长度为n的字符串(1<=n<=1000000),有两种字符,M’表示这是一个男人,W’表示这是一个女人。

Output

 输出总共需要多少时间。

Sample Input

WWMMM
WWM
MMWWW

Sample Output

4
2
0

HINT

 

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<queue>
#include<vector>
#include<map>
using namespace std;
typedef long long LL;
const int INF = 1e9+7;
const int MAXN = 1000005;
char str[MAXN];
int dp[MAXN], wait[MAXN];
int main()
{

    while(scanf("%s", str) != EOF)
    {
        int Pre = 0, cost = 0, ans = 0, flag = 0;
        int len = strlen(str);
        memset(dp, 0, sizeof(dp));
        memset(wait, 0, sizeof(wait));
        for(int i=0; i<len; i++)
        {
            if(str[i] == W)
            {
                flag = 1;
                cost ++;
            }
            else if(flag)
            {
                if(Pre == 0)
                {
                    dp[Pre] = cost;
                    wait[Pre] = 0;
                }
                else
                {
                    if(wait[Pre-1] - cost >= 0)
                        wait[Pre] = wait[Pre-1] - cost + 1;
                    dp[Pre] = dp[Pre-1] - wait[Pre-1] + cost + wait[Pre];
                }
                cost = 0;
                ans = max(ans, dp[Pre]);
                Pre ++;
            }
        }

        printf("%d\n", ans);
    }
    return 0;
}

 

G诺亚方舟 (GDUTACM——2015新生杯初赛重现)

标签:

原文地址:http://www.cnblogs.com/mengzhong/p/5017467.html

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