【hihocoder 1258 Osu! Master】

时间:2022-03-14 21:14:37

2015北京区域赛现场赛签到题。

题面:http://media.hihocoder.com/contests/icpcbeijing2015/problems.pdf

OJ链接:http://hihocoder.com/problemset/problem/1258?sid=788340

题意:T组数据,每组为一个长度为n序列,每个元素为下面三种格式之一:

  C x

  B x

  S

其中x为一个正整数,x值从1连续增长到k的一组[C|B]序列视为一个pattern,单独的一个S视为一个pattern。统计序列中pattern的总数

数据范围:T [1, 100],  n [0, 10^4]

WA在了把每个行存成一个字符串,只判断数字第一位是否为'1'。这样没有考虑多于1位数的情况,如12。

 #include <cstdio>
using namespace std; int n; int main(){
freopen("1258.txt", "r", stdin);
while(scanf("%d", &n)!=EOF){
//printf("n: %d\n", n);
int cnt = ;
getchar(); //吸收第一个n后的回车
for(int i=; i<n; i++){
char s[];
gets(s);//gets()以当前字符开始,以回车结束
//printf("%s\n", s);
switch(s[]){
case 'S': cnt++; break;
default:
if(s[]=='' && s[]=='\0'){//WA在这里,注意多位数的情况,如12
cnt++;
break;
}
}
}
printf("%d\n", cnt);
}
return ;
}