USACO1.1 Broken Necklace 比较分析
来源:互联网 发布:sql server授予权限 编辑:程序博客网 时间:2024/06/03 03:26
注:此题感觉我是因为小学数学没学好就被绕进去了,而且这个珠子里有陷阱:(然后我就死了。再加上这周一直在玩QT就一直停在这儿了。
此题关键就是把每一段给求出来。
代码来自:http://blog.sina.com.cn/s/blog_ad13c2900101knl1.html
因为确实暂时没做出来,只能贴出上边博客里的代码。待仔细研究后但愿能自己写出来吧TAT
你有一串由红珠子、白珠子和蓝珠子组成的项链,珠子的数量大于等于3小于等于350.珠子随机排列。
下边是两个例子:
1 2 1 2
r b b r b r r b
r b b b
r r b r
r r w r
b r w w
b b r r
b b b b
b b r b
r r b r
b r r r
b r r r
r r r b
r b r r r w
Figure A Figure B
r red bead
b blue bead
w white bead
第一个珠子和第二个珠子的位置在图上标出来了。图Figure A 中的排列可表示为brbrrrbbbrrrrrbrrbbrbbbbrrrrb。
如果你在某个点把这串项链弄断,然后把它拉直。然后一直收集一种颜色的珠子,直到遇到另一个颜色。一直这么做直到把把这串项链的珠子找完。
确定断点位置保证最大数量的珠子能够被收集到。
*白珠子既可以被看做蓝珠子也可以被看作红珠子。
#include <iostream>#include <fstream>using namespace std;int main(){ ifstream fin("beads.in"); ofstream fout("beads.out"); int before,after; int n; int p = 0; char necklace[800]; char current_color; int max = 0; fin>>n; fin >> necklace; for(int i = 0;i < n;i ++) necklace[i+n] = necklace[i]; necklace[n*2] = '\0'; before = 0; while(necklace[p] == 'w') { before++; p++; } current_color = necklace[p]; while((necklace[p] == current_color|| necklace[p] == 'w') && p<n) { before++; p++; } if(p < n) { while(p < 2*n) { current_color = necklace[p]; after = 0; while(necklace[p] == current_color|| necklace[p] == 'w') { after++; p++; } if(before + after > max && before+after <= n) { max = before+after; } before = after; int j = p-1-before; while(necklace[j] == 'w') { before++; j--; } } } else max = n; fout << max<<endl;}
- USACO1.1 Broken Necklace 比较分析
- USACO1.1.4 Broken Necklace
- usaco1.1.4 Broken Necklace
- USACO1.1.4 Broken Necklace (beads)
- USACO1.1.4 Broken Necklace (beads)
- [USACO1.1]Broken Necklace C++(错误1)
- 【USACO1.1_4】★Broken Necklace 破碎的项链
- |洛谷|模拟|P1203 [USACO1.1]坏掉的项链Broken Necklace
- 洛谷 P1203 [USACO1.1]坏掉的项链Broken Necklace
- P1203 [USACO1.1]坏掉的项链Broken Necklace
- 洛谷 P1203 [USACO1.1]坏掉的项链Broken Necklace
- 洛谷 P1203 [USACO1.1]坏掉的项链Broken Necklace
- 【P1203】 【USACO1.1】坏掉的项链Broken Necklace
- 【搜索】洛谷 P1203 [USACO1.1]坏掉的项链Broken Necklace
- 洛谷 1203 [USACO1.1]坏掉的项链Broken Necklace
- usaco1.1.4 Broken Necklace破碎的项链
- USACO1.1.4 Broken Necklace(破碎的项链)
- USACO1.1.4 Broken Necklace 破碎的项链
- gcc/g++使用笔记
- Struts2 token防止再重复提交
- 1013. 数素数 (20)
- 动态规划基础-----HDOJ2059----龟兔赛跑
- 多态公有继承
- USACO1.1 Broken Necklace 比较分析
- Python元组
- JAVA编码格式转换
- HTML关于post和get的区别以及缓存问题的理解
- 2015中国网络安全大事记
- POJ 1008_Maya Calendar
- listview在scrollview中自行滑动(滑动冲突)
- Microservice架构模式简介
- WAS集群安装<一>系统环境配置和规划