B. Red and Blue Balls time limit per test 1 second memory limit per test 256 megabytes input standard input output standard outputadmin管理员组文章数量:1558103
User ainta has a stack of n red and blue balls. He can apply a certain operation which changes the colors of the balls inside the stack.
- While the top ball inside the stack is red, pop the ball from the top of the stack.
- Then replace the blue ball on the top with a red ball.
- And finally push some blue balls to the stack until the stack has total of n balls inside.
If there are no blue balls inside the stack, ainta can't apply this operation. Given the initial state of the stack, ainta wants to know the maximum number of operations he can repeatedly apply.
InputThe first line contains an integer n (1 ≤ n ≤ 50) — the number of balls inside the stack.
The second line contains a string s (|s| = n) describing the initial state of the stack. The i-th character of the string s denotes the color of the i-th ball (we'll number the balls from top to bottom of the stack). If the character is "R", the color is red. If the character is "B", the color is blue.
OutputPrint the maximum number of operations ainta can repeatedly apply.
Please, do not write the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64dspecifier.
Sample test(s) input3 RBRoutput
2input
4 RBBRoutput
6input
5 RBBRRoutput
6Note
The first example is depicted below.
The explanation how user ainta applies the first operation. He pops out one red ball, changes the color of the ball in the middle from blue to red, and pushes one blue ball.
The explanation how user ainta applies the second operation. He will not pop out red balls, he simply changes the color of the ball on the top from blue to red.
From now on, ainta can't apply any operation because there are no blue balls inside the stack. ainta applied two operations, so the answer is 2.
The second example is depicted below. The blue arrow denotes a single operation.
#include <algorithm>
#include <iostream>
#include <cmath>
#include <string>
#include <vector>
#include <string.h>
#define MAXN 100
#define ll long long
using namespace std;
int n;
char str[MAXN];
int main(void){
while(cin >> n){
cin >> str;
ll cnt = 0;
for(int i=0; i<n; ++i){
if(str[i] == 'B')
cnt += pow(int(2),(i));
}
cout << cnt << endl;
}
return 0;
}
本文标签: DivcodeforcesBallsBlueRed
版权声明:本文标题:Codeforces Round #233 (Div. 2) B. Red and Blue Balls 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727342542a1109590.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论