#include<stdio.h>
#define N 100001
int n;
char ice[N];
void solve()
{
int i,t_tol=0,h_tol=0,h=0,t=0,m=n>>1;
for(i=0;i<n;++i)
if(ice[i]=='H')
h_tol++;
else
t_tol++;
if((h_tol%2)||(t_tol%2))
{
printf("-1\n");
return ;
}
for(i=0;i<m;++i)
if(ice[i]=='H')
++h;
else
++t;
if(h*2==h_tol&&t*2==t_tol)
{
printf("1\n%d\n",m);
return ;
}
for(;i<n;++i)
{
if(ice[i]=='H')
h++;
else
hdu 3363 Ice-sugar Gourd
最新推荐文章于 2019-08-03 15:52:16 发布
该博客主要介绍了HDU 3363 Ice-sugar Gourd的问题,内容涉及到字符串处理和算法设计。博主通过读取输入的数字和字符串,判断是否能用切一刀的方式将'H'和'T'的数量均分为两半。如果可以,输出切割位置;否则,输出-1。解题思路是将问题转化为环形字符串的处理,并进行了枚举切割位置的实现。
摘要由CSDN通过智能技术生成