HDU 3363 Ice-sugar Gourd
来源:互联网 发布:淘宝域名是什么 编辑:程序博客网 时间:2024/06/05 00:25
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3363
题意:一条字符串,只有H,T,切任意刀将H,T个分为原来的一半。
因为只有两种字符,,,分成两份,有一段一定连续,先判断,前一半和后一半是否相等,相等切一刀,在讨论两刀。
代码如下:
#include<bits/stdc++.h>using namespace std;int main(){ char a[100005]; int n; while(scanf("%d",&n)!=EOF) { if(n==0) break; int h=0; getchar(); for(int i=0; i<n; i++) { scanf("%c",&a[i]); if(a[i]=='H') h++; } if(n%2!=0||h%2!=0) { printf("-1\n"); continue; } else { int cnt=0; for(int i=0; i<n/2; i++) { if(a[i]=='H') cnt++; } if(cnt==h/2) { printf("1\n"); printf("%d\n",n/2); continue; } else { int hh[100005]; h=0; for(int i=0; i<n; i++) { if(a[i]=='H') h++; hh[i]=h; } /*printf("-------%d\n",h); for(int i=0; i<n; i++) { printf("%d ",hh[i]); } printf("------------\n");*/ for (int i=1; i<n/2; i++) { if ((hh[i+n/2-1]-hh[i-1])==h/2) { printf("2\n"); printf("%d %d\n",i,i+n/2); break; } } } } }}
0 0
- hdu 3363 ice sugar gourd
- hdu 3363 Ice-sugar Gourd
- hdu 3363 Ice-sugar Gourd
- HDU 3363 Ice-sugar Gourd
- HDU 3363 Ice-sugar Gourd
- HDU 3363 Ice-sugar Gourd
- HDU 3363 Ice-sugar Gourd
- Hdu 3363 Ice-sugar Gourd(思路)
- Ice-sugar Gourd
- HDU3363 Ice-sugar Gourd
- Hdu3363 Ice-sugar Gourd
- HDU3363-Ice-sugar Gourd
- HDU 3883 CS and Sugar
- Sugar
- HDU 2620 - Ice Rain (数学)
- ice
- ICE
- ICE
- 小明的求助
- ListView的使用
- 学习C语言的第二天
- c#获取外网IP地址
- 常见的路由表建立算法
- HDU 3363 Ice-sugar Gourd
- 为什么要删除鲁迅?
- 【NBUT】[1651]Red packet
- ORACLE中Drop table cascade constraints之后果.
- UVA 10603 Fill【BFS】
- Android SyncAdapter同步实践
- 1. Two Sum
- 弹性ListView
- 使用Android Studio查找文件中含有中文字符串位置(正则表达式)