博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 P1203 [USACO1.1]坏掉的项链Broken Necklace
阅读量:7042 次
发布时间:2019-06-28

本文共 1560 字,大约阅读时间需要 5 分钟。

难度:★

Code:

#include 
#include
#include
#include
using namespace std;//Mystery_Sky//#define M 1000string s;int n, ans, flag, maxx, sum;int l[M], r[M];bool it[M];int main() { scanf("%d", &n); cin >> s; for(int i = 0; i < n; i++) { sum = 2; int iter_1, iter_2; char ster_1, ster_2; iter_1 = i-1, iter_2 = i+2; if(iter_1 < 0) iter_1 = n; if(iter_2 >= n) iter_2 -= n; ster_1 = s[i], ster_2 = s[i+1]; while(!ans) {// printf("iter_1=%d\n", iter_1); if(s[iter_1] == s[iter_1+1]) sum++; else if(s[iter_1] == 'w') sum++; else if(s[iter_1] == ster_1) sum++; else if(ster_1 == 'w') { sum++; ster_1 = s[iter_1]; } else break; iter_1--; if(iter_1 < 0) iter_1 = n-1; if(iter_1 == iter_2-1) ans = n; } while(!ans) { if(s[iter_2] == s[iter_2-1]) sum++; else if(s[iter_2] == 'w') sum++; else if(s[iter_2] == ster_2) sum++; else if(ster_2 == 'w') { sum++; ster_2 = s[iter_2]; } else break; iter_2++; if(iter_2 >= n) iter_2 = 0; } if(ans) break; maxx = max(sum, maxx); } if(ans == n) printf("%d\n", ans); else if(maxx > n) printf("%d\n", n); else printf("%d\n", maxx); return 0; }

转载于:https://www.cnblogs.com/Benjamin-cpp/p/10952187.html

你可能感兴趣的文章
Python中的函数(二)
查看>>
matlab练习程序(LBP,局部二值模型)
查看>>
document.createElement("A");
查看>>
浅谈Java中的hashcode方法
查看>>
HDU 3392 Pie
查看>>
理解virtual方法
查看>>
MVC + ajaxform 文件上传
查看>>
墙纸定时切换!微软Wallpaper Manager使用
查看>>
[译]开闭原则
查看>>
VS2010初体验
查看>>
图示单链表
查看>>
容斥原理与多重集合
查看>>
《Windows Mobile平台应用与开发》写作工作顺利进行中
查看>>
Hadoop Map/Reduce Overview
查看>>
html5游戏开发1-Aptana 3 eclipse 插件安装
查看>>
七周七语言(5)
查看>>
《C#图解教程》读书笔记之五:委托和事件
查看>>
ASP.NET Web API 中的返回数据格式以及依赖注入
查看>>
Linux +apache+fastcgi运行c/c++
查看>>
Android 4高级编程(第3版)》
查看>>