hnust 心电图

问题 A: 心电图

时间限制: 1 Sec  内存限制: 128 MB
提交: 621  解决: 250
[提交][状态][讨论版]

题目描述

众所周知,ACM/ICPC实验室聚集了一堆学霸Orz

有学霸的地方就有学渣。而每次考试以后,就是学渣最痛苦的时候。尤其是成绩揭晓的时候,那心情就像十五个吊桶打水————七上八下的。

作为一个学渣,他是不能很好地预计这门考试的成绩的。有时候呢,本来以为考的还行的,结果考下来分数小于60;有时候呢,以为挂定了,结果居然一不小心高分飘过也是完全有可能的~~

学霸看着学渣的心情起起伏伏觉得挺有趣的,于是统计了一下学渣所有N门实际与预期的不合的成绩,绘制成了一幅“心电图”,横坐标表示学渣的科目数,纵坐标表示心情值,正为高兴,负为沮丧,为0时表示心情正常。因为学霸只统计了实际与预期不合的情况,所以这N门科目只存在两种情况:高兴->沮丧,或者沮丧->高兴。

如下图所示:

hnust 心电图

其中,用1表示沮丧->高兴,用0表示高兴->沮丧。学霸给出一个长度为N的仅包含0、1的字符串,问学渣的心情多少次经过正常值?两门科目间心情变动也算的哟~~

输入

第一行包含一个数字T(T <= 50), 表示测试样例组数。

接下来T行,每一行包括0、1组成的字符串。字符串长度不超过100。不会出现空串。

输出

每组输入对应输出一行“Case #x: y”,x表示数据组数,y表示结果。

样例输入

2
00110
10101

样例输出

Case #1: 7
Case #2: 5 两个相等的连在一起就是3次,两个不同的就是2次。简单数学。
#include <cstdio>
#include <cstring>
int main()
{
int t,ans;
char s[];
scanf("%d",&t);
for(int j=;j<=t;j++)
{
scanf("%s",s);
int l=strlen(s);
ans=;
for(int i=;i<l-;i++)
{
if(s[i]==s[i+])
ans++;
}
printf("Case #%d: %d\n",j,ans+l);
}
return ;
}
 
上一篇:hnust 最小的x


下一篇:Openvswitch手册(8): ovs-vsctl的DB的操作