C. 西瓜理发记(一)
Time Limit: 1000 ms Case Time Limit: 1000 ms Memory Limit: 64 MB
Total Submission: 100 Submission Accepted: 42
Total Submission: 100 Submission Accepted: 42
Description
某天,西瓜决心皈依勺林寺,于是来到安大门口的理发店,准备剃一个光头。
然而理发店有很多人排队,西瓜想知道他大概还需要排队排多久。
假设一位男生需要8分钟,一位女生需要12分钟。
然而理发店有很多人排队,西瓜想知道他大概还需要排队排多久。
假设一位男生需要8分钟,一位女生需要12分钟。
Input
测试数据包括多组
每组数据包含一个字符串s,0<|s|<=2000
字符串只包含字符'M','W','O'
M表示男生,W表示女生,O表示西瓜
在字符串中的位置越左表示在队伍当中越靠前
保证每个字符串不为空,且O只有一个
每组数据包含一个字符串s,0<|s|<=2000
字符串只包含字符'M','W','O'
M表示男生,W表示女生,O表示西瓜
在字符串中的位置越左表示在队伍当中越靠前
保证每个字符串不为空,且O只有一个
Output
对应每组数据输出一个整数,表示西瓜大概需要等待的分钟数。
Sample Input
Original | Transformed |
MWWWO O
MWWWO[EOL] O[EOL] [EOF]
Sample Output
Original | Transformed |
44 0
题解
#include<cstdio> #include<cmath> #include<cstring> #include<string> #include<iostream> #include<algorithm> #include<queue> using namespace std; int main(){ string s; while (cin >> s) { int i, time = 0; char c; queue<char> q; for (i = 0; i < s.size(); i++) q.push(s[i]); while (!q.empty()) { if (q.front() == 'M') time += 8; else if (q.front() == 'W') time += 12; else break; q.pop(); } cout << time << endl; } return 0; }