Hdu 3363 Ice-sugar Gourd(思路)
2016-07-29 21:53
288 查看
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3363
思路:有解:两种情况。第一种,中间一分刚好,即切一刀。第二种,将第一个与最后一个连接起来,组成一个圆,过圆心将圆分成两部分,总有一种方式符合题意。枚举起点i,判断sum[i+n/2]-sum[i]是否等于H/2即可。
思路:有解:两种情况。第一种,中间一分刚好,即切一刀。第二种,将第一个与最后一个连接起来,组成一个圆,过圆心将圆分成两部分,总有一种方式符合题意。枚举起点i,判断sum[i+n/2]-sum[i]是否等于H/2即可。
#include<cstdio> #include<vector> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int maxn=1e5+50; int n,H,T; //int sumt[maxn]; int sumh[maxn]; char st[maxn]; int main() { //freopen("in.in","r",stdin); //freopen("out.out","w",stdout); while(scanf("%d",&n)==1&&n) { H=0,T=0; memset(sumh,0,sizeof(sumh)); //memset(sumt,0,sizeof(sumt)); scanf("%s",st+1); for(int i=1; i<=n; i++) { if(st[i]=='H') H++; else T++; sumh[i]=H; } if((H%2)||(T%2)||(n&1)) { printf("-1\n"); continue; } if(sumh[n/2]==H/2) printf("1\n%d\n",n/2); else for(int i=1; i<=n/2; i++) { if(sumh[i+n/2]-sumh[i]==H/2) { printf("2\n%d %d\n",i,i+n/2); break; } } } return 0; }
相关文章推荐
- go语言学习笔记之并发编程
- 马哥预习视频
- Django vs2015 学习开发日记2
- Codeforces 370B Berland Bingog
- 修改hosts无法访问google
- Django1.8教程——从零开始搭建一个完整django博客(二)
- ubuntu 14.04 部署 Django1.9
- hdu 1533 Going Home(最小费用最大流)
- Algorithm中Heap
- 每天进步一点点——ubuntu 13.10中安装google的gtest库
- 马哥预习视频
- hdu 1847(Good Luck in CET-4 Everybody!——巴什博弈)
- Google Material Design的图标字体使用教程
- mac 下配置 VS Code 开发 Golang
- Glide,Google推荐的图片加载库
- django基本命令
- 《GO学习笔记》------------------------(2)
- go语言
- google play商店应用过滤机制,设备应用不兼容的说明及解决办法
- Django博客功能实现—文章评论功能