HNUSTOJ-1636 心电图
1636: 心电图
时间限制: 1 Sec 内存限制: 128 MB提交: 583 解决: 231
[提交][状态][讨论版]
题目描述
众所周知,ACM/ICPC实验室聚集了一堆学霸Orz
有学霸的地方就有学渣。而每次考试以后,就是学渣最痛苦的时候。尤其是成绩揭晓的时候,那心情就像十五个吊桶打水————七上八下的。
作为一个学渣,他是不能很好地预计这门考试的成绩的。有时候呢,本来以为考的还行的,结果考下来分数小于60;有时候呢,以为挂定了,结果居然一不小心高分飘过也是完全有可能的~~
学霸看着学渣的心情起起伏伏觉得挺有趣的,于是统计了一下学渣所有N门实际与预期的不合的成绩,绘制成了一幅“心电图”,横坐标表示学渣的科目数,纵坐标表示心情值,正为高兴,负为沮丧,为0时表示心情正常。因为学霸只统计了实际与预期不合的情况,所以这N门科目只存在两种情况:高兴->沮丧,或者沮丧->高兴。
如下图所示:
其中,用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
#include<iostream> #include<cstring> #include<cstdio> using namespace std; char ch[105]; int main(){ int T; scanf("%d", &T); for(int k = 1; k <= T; k++){ scanf("%s", ch); int sum, len; sum = len = strlen(ch); for(int i = 1; i < len; i++) if(ch[i] == ch[i-1]) sum++; printf("Case #%d: %d\n", k, sum); } return 0; }