题目链接:http://codeforces.com/problemset/problem/399/B

题目意思:给出 n 个只由 R 和 B 组成的字符串(由上到下排列,相当于栈),问最多可以操作多少轮。一轮包括三个步骤:(1)如果栈顶的球为 red,则弹出(注意可以弹出多个),直到遇到栈顶的球为blue  (2)将这个blue球替换为red球(只操作一次)  (3)在替换完red 球上面添加blue球,直到有 n 个球为止。当然一轮中不一定3个步骤都执行。当 n 个球都为red时,就不能再操作了。

千万不要直接模拟,会超时的!!!观察可以发现,它实质是考我们位运算!red球代表该位的数为0,blue则代表该位为1。那么只需要对输入的那个字符串,算出二进制数转换成十进制是多少,就是答案了。

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std; typedef long long LL;
const int maxn = + ;
char s[maxn];
LL ans; int main()
{
int n;
while (scanf("%d", &n) != EOF)
{
getchar();
gets(s);
ans = ;
for (int i = ; i < n; i++)
{
if (s[i] == 'B')
ans += (1LL << i);
}
printf("%lld\n", ans);
}
return ;
}

最新文章

  1. MySQL主从环境下存储过程,函数,触发器,事件的复制情况
  2. 为jQuery的$.ajax设置超时时间
  3. MagicalRecord 多表关联数据操作
  4. spring websocket源码分析
  5. 第14章 使用DHCP动态管理主机地址
  6. 【python游戏编程之旅】第二篇--pygame中的IO、数据
  7. iOS - OC NSArray 数组
  8. iOS中nil、Nil、NULL、NSNull详解(转)
  9. hdu 2578 Dating with girls(1)
  10. c++基础(三):多态
  11. 杭电ACM2091--空心三角形
  12. POJ 2699 战斗小王子
  13. windows phone8手机玩玩
  14. xaml的margin和css的margin对比
  15. 使用DOM解析XML文件,、读取xml文件、保存xml、增加节点、修改节点属性、删除节点
  16. React 之props属性
  17. FlashFXP用到的功能
  18. Linux常见问题汇总
  19. mq for aix 清理步骤
  20. 怎样动态地插入不会暴露给用户的JS文件

热门文章

  1. *Codeforces963C. Cutting Rectangle
  2. Chrome中输入框默认样式移除
  3. spring-基于注解的配置
  4. Activity 切换动画
  5. Netty和Akka有什么不同?
  6. pandaboard串口通信调试
  7. bzoj 5216: [Lydsy2017省队十连测]公路建设
  8. 针对JedisShardInfo中无法修改db的解决办法
  9. iOS开发-用keychain替代UDID
  10. TCP/IP Protocol Architecture