blue and red ball

#include<iostream>
#include<cstring>
using namespace std;
int sum;
bool a[60];
int n;
int head;
int ping(int w){
    int u=1;
    for(int y=1;y<w;y++){
        u=u*2;
    }
    return u;
}
int main(){
    freopen("ball.in","r",stdin);
    freopen("ball.out","w",stdout);
    cin>>n;
    string st;
    cin>>st;
    int ji=0;
    int len=st.size() ;
    for(int i=0;i<len;i++){
        if(st[i]==‘B‘){
            sum+=ping(i+1);
        }
    }
    cout<<sum;
}

Problem 1 双色球(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

RBBRRBBRRBBRRBBRRBBR

【样例输出】

样例1:2

样例2:6

【样例解释】

样例1:

样例2:

【数据范围】

50%的数据,1<=n<=20

100%的数据,1<=n<=50

需要数学处理

简单找规律

时间: 2024-12-18 04:20:56

blue and red ball的相关文章

POJ 3715 Blue and Red 二分图

说是有一个军事演习 n个士兵,其中有m个关系表示某两个人是好友 现在士兵已经分好了两组了,用来进行对抗,但是这两组之间可能有好友,会影响军事演习的情况 所以要去掉尽量少的人,使得这个两组之间没有好友. 那么题目给了一个分组方案了,  但是不同组之间可能有好友, 我们就要在这些个不同组的好友之间  连边然后求二分图最大匹配, 求出来的结果就是要去掉的人数 但是题目又要求字典序要最小. 那我们就从序号小的开始枚举,  模拟删除掉该人, 然后求二分图最大匹配看有没有变化, 如果有变化说明这个人必须去掉

AtCoder Grand Contest 014 E:Blue and Red Tree

题目传送门:https://agc014.contest.atcoder.jp/tasks/agc014_e 题目翻译 有一棵有\(N\)个点的树,初始时每条边都是蓝色的,每次你可以选择一条由蓝色边构成的简单路径,让这条路径的两个端点间连上一条红边,然后断开这条路径上的某条蓝边.这样做\(N-1\)次,就可以把原本的蓝树变成红树.现在给你蓝树和红树的样子,问你可不可能把给出的蓝树变成给出的红树.\(N\leqslant 10^5\) 题解 先膜一发大佬的题解:https://blog.csdn.

AGC 014 E Blue and Red Tree [树链剖分]

传送门 思路 官方题解是倒推,这里提供一种正推的做法. 不知道你们是怎么想到倒推的--感觉正推更好想啊QwQ就是不好码 把每一条红边,将其转化为蓝树上的一条路径.为了连这条红边,需要保证这条路径仍然完整. 考虑连完之后要删掉的那条蓝边,显然它只能被当前连的红路径覆盖而没有被其他路径覆盖,否则就玩不下去了. 即:每次只能删掉一条被覆盖一次的蓝边. 有没有可能一条蓝边没有被覆盖过呢?显然是不可能的,因为每条蓝边最终都要删去,若没有覆盖过则无法删去. 那么做法就很显然了:树剖,线段树维护最小值和覆盖了

BNUOJ 26229 Red/Blue Spanning Tree

Red/Blue Spanning Tree Time Limit: 2000ms Memory Limit: 131072KB This problem will be judged on HDU. Original ID: 426364-bit integer IO format: %I64d      Java class name: Main Given an undirected, unweighted, connected graph, where each edge is colo

HDU 4263(Red/Blue Spanning Tree-取边贪心)

Red/Blue Spanning Tree Time Limit: 10000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 979    Accepted Submission(s): 368 Problem Description Given an undirected, unweighted, connected graph, where each edg

HDU 2277 Change the ball

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2277 Change the ball Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 694    Accepted Submission(s): 272 Problem Description Garfield has three pile

URAL 1715. Another Ball Killer (大模拟)

1715. Another Ball Killer Time limit: 2.0 second Memory limit: 64 MB Contestants often wonder what jury members do during a contest. Someone thinks that they spend all the contest fixing bugs in tests. Others say that the jury members watch the conte

Change the ball(找规律)

Change the ball Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 552    Accepted Submission(s): 193 Problem Description Garfield has three piles of balls, each pile has unique color of following:

hdoj 2277 Change the ball 【找规律】

题目大意:有三不同颜色的球(yellow,blue, red),每两个不同颜色的球在一起就会变成剩下的种的颜色,例如,1个y,1个b 在一起就变成了两个r的.求能不能将给出的三种颜色的球都变成同一种颜色,如果能输出最少的转换步数. 策略:这道题假设有相同的那么显然就是相同的数目,如果没有相同的,如果能转化同一个颜色,那么必有(s - n)%3 == 0,即两种颜色的球的个数差,是3的倍数(仔细想一下),所以 我们排一下序,依次判断就可以了 题目链接 点击打开链接 代码: #include<std