poj 3276 Face The Right Way
来源:互联网 发布:mac如何下载win10 编辑:程序博客网 时间:2024/05/16 16:18
就是说B为朝后F为朝前,问每次反转连续k个数,最少需要反转几次,求最小的次数和k
可以看最左边的一个,因为只有一组包含它,然后决定反转还是不反转,然后看第二个依次判断。。。还有同一个数反转奇数次为本身不必重复反转,特判当已经全都朝前时
输出0 0;
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<queue>#include<algorithm>using namespace std;int kep[50005];int d[50005];int n;int solve(int k){ memset(d,0,sizeof(d)); int sum=0,step=0; for(int i=0;i+k<=n;i++) { if((kep[i]+sum)%2==0) { step++; d[i]=1; } sum+=d[i]; if(i+1-k>=0) sum-=d[i-k+1]; } for(int i=n-k+1;i<n;i++) { if((sum+kep[i])%2==0) return -1; if(i-k+1>=0) sum-=d[i-k+1]; } return step;}int main(){ int k,m; while(~scanf("%d",&n)) { int aa=0; for(int i=0;i<n;i++) { char c; cin>>c; if(c=='F') kep[i]=1; else kep[i]=0; aa+=kep[i]; } if(aa==n) { printf("0 0\n"); continue; } for(int i=1;i<=n;i++) { int ans=solve(i); if(ans!=-1 && ans<m) { k=i; m=ans; } } printf("%d %d\n",k,m); } // system("pause"); return 0;}
- poj 3276 Face The Right Way
- poj 3276 Face The Right Way
- POJ-3276-Face The Right Way
- Poj 3276 Face The Right Way
- poj 3276 Face The Right Way
- POJ 3276 Face The Right Way
- POJ 3276 Face The Right Way
- poj 3276 Face The Right Way
- Face The Right Way POJ 3276
- poj 3276 Face The Right Way
- POJ 3276 Face The Right Way
- POJ 3276 Face The Right Way
- POJ-3276 Face The Right Way
- POJ 3276 Face The Right Way【枚举】
- POJ-3276 Face The Right Way
- POJ 3276 Face The Right Way 模拟
- poj 3276 Face The Right Way@
- poj 3276 Face the right way
- oc基础知识3:存取方法、静态变量、协议
- Java抓取网页数据(原网页+Javascript返回数据)
- cocos2d-x中init()与OnEnter()的关系
- 看完你就是电脑高手了。。赶紧转回去,要用随时能看哦!
- 降温啦,夭寿啦
- poj 3276 Face The Right Way
- hibernate select 查询方式总结
- vs版本与_MSC_VER的对应
- 数据结构算法(2) 图的深度优先搜索
- python hadoop 在streaming中获取文件名的方法 (参考java )适用: MRjob
- 时间格式化
- 项目管理师--质量管理 1
- asp_验证码
- Ogre中调用OgreMaxViewer来load场景文件.scene