[关闭]
@Chilling 2016-08-21T21:01:34.000000Z 字数 1791 阅读 907

UVALive-7270: Osu! Master


Description

“Osu!” is a unique PC rhythm game, which is very popular over the world. The player should follow the rhythm of a song to finish the game.
The game has three kind of elements: hitting circles on the touchscreen, dragging a ball across a fixed path and rotating a spinner very fast,as shown below:
此处输入图片的描述
A song is divided into many patterns. There are two kinds of patterns. The first kind is made up of a list of “Hit-circle” elements and “Dragging-ball” elements. The elements are labeled with increasing numbers starting from 1. The player should finish the elements according to the order of the numbers.
The second kind of pattern is made up of only one “Spinner” element with no label.

When a player hits a circle, drags a ball or rotates a spinner, he may get 0pt, 100pts or 300pts according to his performance. If he finishes an element perfectly, he will get 300pts. If a player finishes a pattern perfectly, which means that he gets 300pts for all elements in this pattern, he will get a “Shock” mark.
Now, give you the number of elements and the kinds of the elements (together with their label) in order, please calculate that how many “Shock” marks a Osu! master can get at most.

Input

Multiply test cases. There are up to 100 test cases.
In every test case:
The first line contains a integer n (0 ≤ n ≤ 10000), representing the number of elements.
Then n lines follow. Each line describes one element in one of the 3 kinds of format shown below :
1. C x — “Hit-circle” with label x
2. B x — “Dragging-ball” with label x
3. S — “Spinner”
It is guaranteed that the input is always valid.

Output

For each test case, output one line, an integer, representing the answer.

Sample Input

10
C 1
C 2
B 3
C 1
B 2
B 1
S
C 1
S
B 1
1
S
0
2
S
B 1

Sample Output

7
1
0
2

题意:输入n,接下来有x组,一共n次操作,求有多少组。每组操作都以1开始,S算作单独的一组操作。

分析:判断输入的是S,count++,输入的数字是1,count++,输出count。

竟然是osu!有关的题……还好玩过知道规则一下就写出来啦,其实本来就超级水


  1. #include<stdio.h>
  2. int main()
  3. {
  4. int n,x,count;
  5. char ch[3];
  6. while(scanf("%d",&n)!=EOF)
  7. {
  8. count=0;
  9. while(n--)
  10. {
  11. scanf("%s",ch);
  12. if(ch[0]=='S')
  13. count++;
  14. else
  15. {
  16. scanf("%d",&x);
  17. if(x==1)
  18. count++;
  19. }
  20. }
  21. printf("%d\n",count);
  22. }
  23. return 0;
  24. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注