做题时要思路清晰,这样才能解决时间,不走弯路,一个难度一的题被我做了一个多小时,罪过呀!!!

来源:互联网 发布:js上拉加载下拉刷新 编辑:程序博客网 时间:2024/05/02 06:41

奶牛

时间限制:1000 ms  |  内存限制:65535 KB
难度:1
描述

念情新开了一家农场,农场里面有一个牛栏,里面圈养有他家的宝贝奶牛。现在念情对农场的格局不太满意,于是他决定把牛栏分成两个,每个新牛栏的奶牛数量相同。

 

本题中用一个字符串表示牛栏,'c'表示奶牛,'.'表示空。


若能分隔成两个奶牛数相等的牛栏,则输出可能分隔的情况。若不能,则输出0

输入
多组测试数据
每组测试数据由一个字符串组成
字符串仅由 'c' 和 '.'组成
字符串长度不超过100
输出
输出可能分隔的情况
样例输入
cc..c.cc....c....c.............c.c...c..ccc.c..c.c.cc..ccc

#include <iostream>

using namespace std;
#include<string.h>
int main()
{
char a[102];
int i,j,k,m;
while(cin>>a)
{
for(i=0,j=0;i<strlen(a);i++)
if(a[i]=='c')j++;
 
if(j==0)cout<<strlen(a)-1<<endl;
else if(j%2!=0)cout<<0<<endl;
else
{
for(i=0,k=0,m=0;i<strlen(a);i++)
{
if(a[i]=='c'&&k<j/2)k++;
else if(k==j/2)
{
if(a[i]=='.')m++;
else break;

}
}
  cout<<m+1<<endl;
}
}



return 0;
}
原创粉丝点击