学习心得(code)

superlong@CoreCoder

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  74 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

公告

文字可能放在http://blog.csdn.net/superlong100,此处存放代码

常用链接

留言簿(4)

我参与的团队

搜索

  •  

最新随笔

最新评论

  • 1. re: Poj 1279
  • 对于一个凹多边形用叉积计算面积 后能根据结果的正负来判断给的点集的时针方向?
  • --bsshanghai
  • 2. re: Poj 3691
  • 你写的这个get_fail() 好像并是真正的get_fail,也是说fail指向的串并不是当前结点的子串。为什么要这样弄呢?
  • --acmer1183
  • 3. re: HDU2295[未登录]
  • 这个是IDA* 也就是迭代加深@ylfdrib
  • --superlong
  • 4. re: HDU2295
  • 评论内容较长,点击标题查看
  • --ylfdrib
  • 5. re: HOJ 11482
  • 呵呵..把代码发在这里很不错..以后我也试试...百度的编辑器太烂了....
  • --csuft1

阅读排行榜

评论排行榜

# include <stdio.h>
# include 
<string.h>

int n, h, t;
char str[100005];

int main() {
    
while(scanf("%d"&n), n) {
        scanf(
"%s", str);
        
int sh = 0, h = 0, t = 0, st = 0, L = strlen(str);
        
for(int i = 0; i < L; i ++{
            
if(str[i] == 'H') h ++;
            
if(str[i] == 'T') t ++;
        }

        
if( h % 2 || t % 2{
            puts(
"-1");
            
continue;
        }

        
for(int i = 0; i < L / 2; i ++{
            
if(str[i] == 'H') sh ++;
            
if(str[i] == 'T') st ++;
        }

        
int head = 0, tail = L / 2;
        
while(sh != h / 2{
            
if(str[head] == 'H') sh --;
            
if(str[head] == 'T') st --;
            
if(str[tail] == 'H') sh ++;
            
if(str[tail] == 'T') st ++;
            head 
++; tail ++;
        }

        
if(head != 0) printf("2\n%d ", head);
        
else printf("1\n");
        printf(
"%d\n", tail);
    }

}

posted on 2010-04-03 22:05 superlong 阅读(353) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理