9508 诸葛给我牌
来源:互联网 发布:火炬之光2mac版 编辑:程序博客网 时间:2024/04/24 16:31
9508 诸葛给我牌
时间限制:1000MS 内存限制:65535K
题型: 编程题 语言: 无限制
Description
三国杀是现在流行的桌游..分为两方,用牌来进行对战,每一张牌都有自己的属性,而每一个武将(就是玩家)都有自己的技能. 每一次玩家都从牌堆里面抽两张牌到手牌上,然后进行出牌杀死对方玩家(更具体请参考官方说明).. 诸葛亮的技能就是能看到牌堆上面的5张牌而可以对这5张牌进行摆放,绝对自己或者下家得到的牌. 而甄姬的技能就是一开始可以在牌堆里面摸牌,只要摸到的是黑色牌都可以拿到手牌上,一直摸到不是黑色的牌为止. 现在诸葛亮和甄姬刚好坐在一起,甄姬成为了诸葛亮的下家.现在诸葛亮想让甄姬拿到尽可能多的牌.应该如何摆放牌呢 现在将诸葛亮的技能加强点(5张太少了,不够给力),他可以看到牌堆的所有牌,但他不能抽牌,而只能去掉牌堆里面的某些牌,而去掉牌要符合以下规则 1.从牌顶一直拿 2.从牌中间拿出连续的一段牌 这两个规则最多只能用一次或者不用 而且这技能是在诸葛亮拿完自己的手牌才发动的,问甄姬最多能拿到多少张呢 由于牌要不是红,要不是黑,则0表示黑,1表示红 例如 00011101100111000000 如果我把前面的111拿走,那么甄姬就能拿到前面的4个0 如果我把000111和之后的11拿走,则变为0(11)00111000000,则甄姬可以拿到前面的3张,括号表示已经拿走 但如果我把前面的000111011和最后的111拿走,就甄姬就可以拿到000000000. 8张了 那如果把中间的11101100111拿走呢? 我们可以拿到9张。 记住牌顶和中间都只能拿一次或者不拿
Input
第一行表示串长n(1<=n<=1000000) 第二行是长度为n的01串表示牌堆里面的牌
Output
一个数表示最多可以拿到的牌数
Sample Input
2000011101100111000000
Sample Output
9
//以下为AC了的代码
#include<stdio.h>#include<string.h>int main(){int len,i,j,k,max,cnt,zeroset[500001]={0};int maxsum,maxtemp,maxsbpt,total;char str[1000001]={'\0'},c;scanf("%d",&len);c=getchar(); //用来接收scanf()后的回车符 for(i=0;i<len;i++)str[i]=getchar();if(str[0]=='0') zeroset[1]=1;else zeroset[1]=0;cnt=1;for(i=1;i<len;i++){if(str[i]=='0') zeroset[cnt]++;else if(str[i-1]=='0') cnt++;}if(str[len-1]=='0') total = cnt;else total = cnt - 1;maxsum=0;maxsbpt=0;for(i=1,max=0;i<=total;i++){if(zeroset[i]>max){max=zeroset[i];maxsbpt=i;}}maxsum+=max;for(i=1,max=0;i<=total;i++){if(zeroset[i]>max && i!=maxsbpt){max=zeroset[i];}}maxsum+=max;printf("%d\n",maxsum);return 0;}
0 0
- 9508 诸葛给我牌
- 深夜切题——诸葛给我牌
- 诸葛
- 诸葛io给刚玩Hadoop的朋友的建议
- 诸葛神算
- 诸葛锦囊
- 诸葛周易
- 诸葛蝴蝶
- 诸葛:一丝不挂的数据时代,谁为我的隐私加块遮羞布?
- 诸葛亮出山前也没有带过兵啊,凭什么要求我有工作经验?
- 我给我的时间
- 欢迎给我留言
- 给我留言
- 给我留言
- 给我留言
- 给我留言
- 给我留言
- ****给我留言****
- Access数据库小结
- Jetty:部署到Jetty
- Java程序常用工具
- easyUI sql 构建树treegrid
- android animation 优秀文章
- 9508 诸葛给我牌
- 有效沟通-非暴力沟通
- 按键驱动程序设计笔记
- OS
- java的equals方法重写注意事项
- Unique Binary Search Trees II
- 轻松地集成动态条形码到Microsoft® Windows® Mobile, PocketPC的条码控件Mobile Barcode PocketPC DLL
- 8611 大牛之路I
- Activity