Codeforces 399B Red & Blue Balls [数论]
来源:互联网 发布:淘宝牛肉丸哪个牌子好 编辑:程序博客网 时间:2024/05/29 12:31
双色球(ball.cpp/c/pas)
【题目描述】
机房来了新一届的学弟学妹,邪恶的chenzeyu97发现一位学弟与他同名,于是他当起了善良的学长233
“来来来,学弟,我考你道水题检验一下你的水平……”
一个栈内初始有n个红色和蓝色的小球,请你按照以下规则进行操作
1. 只要栈顶的小球是红色的,将其取出,直到栈顶的球是蓝色
2. 然后将栈顶的蓝球变成红色
3. 最后放入若干个蓝球直到栈中的球数为n
以上3步骤为一次操作
如栈中都是红色球,则操作停止,请问几次操作后停止
chenzeyu97出完题发现他自己不能AC所以想请你帮忙
【输入格式】
第一行为一个整数n,表示栈的容量为n
第二行为一个字符串,第i个字符表示自顶向下的第i个球的颜色,R代表红色,B代表蓝色
【输出格式】
一个整数表示操作数
【样例输入】
样例1:
3
RBR
样例2:
4
RBBR
【样例输出】
样例1:2
样例2:6
【样例解释】
样例1:
样例2:
【数据范围】
50%的数据,1<=n<=20
100%的数据,1<=n<=50
这道题一开始以为时模拟。。。然而用二进制的退位模拟blue的填充和red的改变。。
那么每次加上2^i就是每个蓝球需要的次数。。
#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<vector>#include<queue>#include<stack>#include<map>#include<set>#include<string>#include<iomanip>#include<ctime>#include<climits>#include<cctype>#include<algorithm>#ifdef WIN32#define AUTO "%I64d"#else#define AUTO "%lld"#endifusing namespace std;#define smax(x,tmp) x=max((x),(tmp))#define smin(x,tmp) x=min((x),(tmp))#define maxx(x1,x2,x3) max(max(x1,x2),x3)#define minn(x1,x2,x3) min(min(x1,x2),x3)typedef long long LL;const int INF=0x3f3f3f3f;const int maxn = 55;int n;int main(){ freopen("ball.in","r",stdin); freopen("ball.out","w",stdout); scanf("%d",&n); char ch = getchar(); while(!isalpha(ch)) ch=getchar(); LL ans = 0ll; for(int i=0;i<n;i++) { if(ch == 'B') ans += (1ll<<i); ch = getchar(); } printf(AUTO,ans); return 0;}
0 0
- Codeforces 399B Red & Blue Balls [数论]
- Codeforces 399B Red and Blue Balls(数论)
- code forces 399B Red&Blue Balls
- Codeforces Round #233 (Div. 2) B. Red and Blue Balls
- 【CodeForces 339B】Red and Blue Balls 找规律
- codeforces 399B Red and Blue Balls-数据-(模拟题找规律)
- codeforces#233_div2_B Red and Blue Balls
- Codeforces 430B Balls Game
- Codeforces 430 B. Balls Game
- CodeForces 628B(数论)
- Codeforces 396B 数论
- Codeforces 430B Balls Game 构造
- Codeforces Round #245 (Div. 2) B - Balls Game
- Codeforces 382B Number Busters(数论)
- Codeforces 393B Three matrices(数论)
- Codeforces 413B Spyke Chatting(数论简单)
- Codeforces Round #109 (Div. 1)B 数论
- Codeforces 633B A Trivial Problem 【数论】
- ns3--python bindings integration
- 用Simulink进行仿真遇到的一些问题以及相应的解决方法整理
- 不用看了,赶紧跟着敲一遍!
- 程序员浮躁,是谁的错
- HDU 5916 Harmonic Value Description(规律+构造)
- Codeforces 399B Red & Blue Balls [数论]
- 硬盘技术原理
- 编码、解码、乱码原理
- HDU5916 Harmonic Value Description
- ReactNative安装错误解决方法
- 51nod 集合计数(拓展欧几里得)
- Linux环境下的脚本—shell(三)
- 线程中 CloseHandle()函数的使用
- 不使用strcmp函数比较两个字符串的大小