自己的usaco代码---PROB Broken Necklace
来源:互联网 发布:乐器吉他淘宝 编辑:程序博客网 时间:2024/05/21 14:59
原创代码
仅供参考
欢迎评论O(∩_∩)O~
/*ID: 输你自己的PROG: beadsLANG: C++*/#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<cmath>using namespace std;int n,f[400],ans=0;char a[1200];int main(){memset(a,'#',sizeof(a));freopen("beads.in","r",stdin);freopen("beads.out","w",stdout);cin>>n;for(int i=1;i<=n;i++) cin>>a[i];for(int i=n+1;i<=n+n;i++) a[i]=a[i+n]=a[i-n];char x='w';for(int i=1+n;i<=n*2;i++) { int k=i; f[i-n]=2; x='w'; while((a[++k]==a[k-1]||a[k]=='w'||a[k-1]=='w'||a[k]==x)&&k<n+i-1){if(a[k-1]=='w'&&a[k]!='w'&&x!='w'&&a[k]!=x) break; f[i-n]++; if(a[k]=='w') x=a[k-1]; if(a[k-1]=='w'&&x=='w'&&a[k]!=x) x=a[k];} int t=k-n*2; x='w'; k=i-1; while((a[--k]==a[k+1]||a[k]=='w'||a[k+1]=='w'||a[k]==x)&&k>n+t){ if(a[k+1]=='w'&&a[k]!='w'&&a[k]!=x&&x!='w') break; f[i-n]++; if(a[k]=='w'&&a[k+1]!='w') x=a[k+1]; if(a[k+1]=='w'&&a[k]==x&&x!='w') x=a[k]; } }for(int i=1;i<=n;i++) ans=max(ans,f[i]);cout<<ans<<endl;return 0;}
- 自己的usaco代码---PROB Broken Necklace
- 【USACO】PROB Broken Necklace
- USACO TRAINING - PROB Broken Necklace
- USACO Section 1.1 PROB Broken Necklace之zx的恋爱
- USACO PROB Broken Necklace (1.1)
- 自己的usaco代码---PROB Milking Cows
- 自己的usaco代码---PROB Transformations
- 自己的usaco代码---PROB Palindromic Squares
- 自己的usaco代码---PROB Dual Palindromes
- 自己的usaco代码---PROB Mixing Milk
- 自己的usaco代码---PROB Barn Repair
- 自己的usaco代码---PROB Calf Flac
- 自己的usaco代码---PROB Prime Cryptarithm
- 自己的usaco代码---PROB Greedy Gift Givers
- 自己的usaco代码---PROB Friday the Thirteenth
- 自己的usaco代码---PROB Name That Number
- Broken Necklace-----破碎的项链----USACO---C1S1
- Broken Necklace(USACO)
- oauth1.0
- utf8汉字编码16进制对照
- orcad capture CIS 使用
- 直接拿来用!最火的Android开源项目
- 多重背包问题
- 自己的usaco代码---PROB Broken Necklace
- hdu 4674 Trip Advisor
- Inside GDALAllRegister之三: 注册指定驱动
- HDU4671 Backup Plan(构造序列-多校七)
- 不可表示数求解分析
- fstream文件读写
- sql group by 子句
- linq日期转换
- java并发库之Executors常用的创建ExecutorService的几个方法说明