UVa 1585 Score --- 水题

Posted tan90丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVa 1585 Score --- 水题相关的知识,希望对你有一定的参考价值。

 

  题目大意:给出一个由O和X组成的串(长度为1-80),统计得分。

       每个O的分数为目前连续出现的O的个数,例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3

  解题思路:用一个变量term记录当前O的分数,若出现O,则term+1,若出现X,则term=0;

       再用一个sum记录总和,没次加上term即可

技术分享
/* UVa 1585 Score --- 水题 */
#include <cstdio>
#include <cstring>

const int maxn = 85;

int main()
{
    int t;
    char s[maxn];

    scanf("%d", &t);
    while (t--){
        scanf("%s", s);
        int n = strlen(s);
        int flag = 0, sum = 0;
        for (int i = 0; i < n; ++i){
            //落连续出现,次O分数+1
            if (s[i] == O){
                ++flag;
            }
            else{
                flag = 0;
            }
            sum += flag;    //更新总和
        }
        printf("%d\n", sum);
    }

    return 0;
}
View Code

 

以上是关于UVa 1585 Score --- 水题的主要内容,如果未能解决你的问题,请参考以下文章

UVa 1585 Score(得分)

(UVA)1585 --Score(得分)

chaper3_exercise_Uva1585_score

uva 1585

习题3-1 得分(Score, ACM/ICPC Seoul 2005, UVa1585)

2019年2月做题记录