NYOJ 819乳牛水

1874 ワード

乳牛
時間制限:
1000 ms|メモリ制限:
65535 KB
難易度:
1
説明
念情は新しい農場を開き、農場の中に牛の柵があり、中には彼の家の宝物の乳牛が飼われている.今は農場の構造にあまり満足していないので、牛の欄干を2つに分けることにしました.新しい牛の欄干ごとに乳牛の数が同じです.
 
この問題では牛の欄を文字列で表し、'c'は乳牛を表し、'.'空を表す.
2つの乳牛数が等しい牛欄に区切ることができれば、区切る可能性のある場合を出力します.できない場合は0を出力
入力
複数組のテストデータ
各テストデータのセットは文字列で構成されています
文字列は'c'と'.'のみです.構成
文字列の長さは100を超えない
しゅつりょく
出力が分離可能な場合
サンプル入力
cc..c.c
c....c....c
............
.c.c...c..ccc.c..c.c.cc..ccc

サンプル出力
3
0
11
3

ヒント
サンプル1:
分離可能な場合は
cc|..c.c
cc.|.c.c
cc..|c.c
全部で3種類です
ソース
TopCoder
アップロード者
気にしないで
#include<stdio.h>
#include<string.h>
char s[1005];
int main()
{
    int c,t,i;
    while(~scanf("%s",s))
    {
        int len;            int cnt=0;            int y=0;
        len=strlen(s);
        c=0;
        for(i=0;i<len;i++)
            if(s[i]=='c')
            c++;
//            printf("***%d
",c); if(c==0) printf("%d
",len-1); else if(c%2) printf("0
"); else if(c%2==0) { for(i=0;i<len;i++) { if(s[i]=='c') y++; if(y==c/2) { // printf("--->%d %d
",y,i); t=i; break; } } // printf("***%d
",t); for(i=t;i<len;i++) { if(s[i]=='.') cnt++; if(s[i+1]=='c') break; } printf("%d
",cnt+1); } } return 0; }