UVa Online Judge
1585 - Score
给出一个由O和X组成的串(长度为1~80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0。例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3。
5
OOXXOXXOOO
OOXXOOXXOO
OXOXOXOXOXOXOX
OOOOOOOOOO
OOOOXOOOOXOOOOX
10
9
7
55
30
2个参数,一个参数记录将要相加的得分,遇到O加1,遇到X置零。一个参数记录总的分数。
1 #include <cstdio> 2 #include <cstring> 3 4 const int MAXN = 85; 5 6 int main() { 7 int T = 0; 8 scanf("%d", &T); 9 while (T--) { 10 char str[MAXN]; 11 scanf("%s", str); 12 int score = 0, cnt = 0; 13 for (int i = 0; i < strlen(str); i++) { 14 if (str[i] == ‘O‘) { 15 cnt++; 16 score += cnt; 17 } 18 else { 19 cnt = 0; 20 } 21 } 22 printf("%d\n", score); 23 } 24 return 0; 25 }
原文:https://www.cnblogs.com/lemonforce/p/13201175.html