USACO-beads
/*
ID: xiao
TASK: beads
LANG: C++
*/#include <iostream>
#include <fstream>
#include <string>
#include <vector>using namespace std;
#define max(a,b) a>b?a:b
#define min(a,b) a<b?a:b
int N;
string str;
int lft[2][1000]={0};
int rigt[2][1000]={0};int main(){ofstream fout("beads.out");ifstream fin("beads.in");fin >> N;fin >> str;str += str;for(int i= str.size(); i>0;i--){if (str[i-1]=='r'){lft[0][i] = lft[0][i+1] + 1;lft[1][i] = 0;}else if(str[i-1]=='b'){lft[1][i] = lft[1][i+1] + 1;lft[0][i] = 0;}else{lft[0][i] = lft[0][i+1] + 1;lft[1][i] = lft[1][i+1] + 1;}}for(int i=1; i<=str.size() ; i++){if (str[i-1]=='r'){rigt[0][i] = rigt[0][i-1] + 1;rigt[1][i] = 0;}else if(str[i-1]=='b'){rigt[1][i] = rigt[1][i-1] + 1;rigt[0][i] = 0;}else{rigt[0][i] = rigt[0][i-1] + 1;rigt[1][i] = rigt[1][i-1] + 1;}}int sum=-1;int t1,t2;for(int i=1; i<=N; i++){t1 = max(lft[0][i],lft[1][i]);t2 = max(rigt[0][N+i-1],rigt[1][N+i-1]);sum = max(sum,t1+t2);}if(sum<N)fout << sum << endl;elsefout << N << endl;return 0;
}
USACO-beads相关推荐
- USACO beads
题意是给你一串首尾相连的珠子, 珠子有b r w三种颜色, 然后让你统计某两个珠子中间到两边相同珠子的最大数量是多少??刚开始我选择了暴力求解, 后来看题解后有一种dp的方法, 感觉蛮赞的..代码如下 ...
- 【usaco】beads
最近在做usaco的题目,想趁着最近没什么事情做掉这些题 后面还想做什么再说吧,感觉大四把usaco刷掉就已经足够了,貌似没什么时间做别的 题目粘贴如下 Broken Necklace You hav ...
- USACO Broken Necklace
去掉题目的背景:就是一个环形的串中,寻找一个最长的子串,该串由前后由俩部分组成,连续的b串和连续的r串,当然,一种颜色也可以:w可转变成任意颜色: 我的思路:比较简单的思路,但是是一个复杂度O(n^2 ...
- USACO Section 1.2 Broken Necklace
题目 题目分析 推的过程 需要避免的坑 整体代码 USACO的题解 题目 题目描述 输入描述 Line 1: N, the number of beads Line 2: a string of N ...
- usaco Shaping Regions
这就是usaco 前面的windows area的变形. /* ID:jinbo wu TASK:rect1 LANG:C++ */ #include<iostream> #include ...
- usaco Postal Vans(dp)
是哈密顿回路,然后...就不知道怎么写了 ,以前写过类似的不过情况没这么多也没这么复 usaco training 6.1.1 Postal Vans 题解 标签: usaco training题解d ...
- usaco Beef McNuggets
这两天贼烦,ccf炸了,还有一个烦心事.哎我都不知道自己能不能坚持下去了.马上期末考了.这段时间还是抓紧时间复习吧同时刷usaco的节奏要跟以前一样了,毕竟课少了. 题解: 只要你知道以下的数论结论, ...
- usaco前两章小结
usaco 暑假老师有推荐做但是那个题目太长了,而且·大部分都是废话做起来特别慢,而且当时自己基本上什么都不懂,太难了所以看了题解做了两题就放弃了. 转眼就上学了,因为想学习acm所以就胡乱找题做但是 ...
- usaco ★Fractions to Decimals 分数化小数
★Fractions to Decimals 分数化小数 写一个程序,输入一个形如 N/D 的分数(N 是分子,D 是分母),输出它的小数形式. 如果小数有循环节的话,把循环节放在一对圆括号中.例如, ...
- usaco ★Bessie Come Home 回家
★Bessie Come Home 回家 现在是晚餐时间,而母牛们在外面分散的牧场中. 农民约翰按响了电铃,所以她们开始向谷仓走去. 你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数据中,总会有 ...
最新文章
- 深度学习中的Dropout简介及实现
- 清除病毒后经常遇到的系统修复问题
- 调用settings中的常数
- linux mysql5.7.9下载_关于linux-Centos 7下mysql 5.7.9的rpm包的安装方式
- python函数type的用意_python之type函数
- lucene,基于QueryParser的搜索
- PowerDesigner的逆向工程.
- jenkins配置工程目录-启动case
- 任务完成:我从CNC2018 GetAJob挑战中学到的东西
- android 中的 odex 文件
- 锻造完美U盘小偷:活用消息机制
- LINUX下载编译libvpx
- Json类型的转化 及 JsonArray,JsonObject详解
- 运行QTP测试脚本后,将编译结果写入指定文件(四)
- 便宜又大碗!AI将画廊轻松搬到自家墙壁;用隐写术在图像中存储文件;免费书·算法高维鲁棒统计;关节式手部模型数据集;前沿论文 | ShowMeAI资讯日报
- python标准库-math数学函数库介绍
- python京东预约抢购_python 脚本实现京东抢购
- 嵌入式软件项目流程、项目启动说明书(示例)
- java 线程 设计模式_Java多线程设计模式(四)
- 归并排序(默认2路归并)