(UVA)1585 --Score(得分)

Posted ACDoge

tags:

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


时间限制:3000MS 64位IO格式:%lld&%llu

描述

有一个客观的测试结果,如“OOXXOXXOOO”,一个“O”表示一个问题的正确答案,一个“X”表示一个错误的答案。这个测试的每个问题的分数是由它自己计算的,例如,第10个问题的得分是3,它是由它自己和它的前两个连续的O得到的。
因此,“OOXXOXXOOO”的分数是由“1 + 2 + 0 + 0 + 1 + 0 + 0 + 1 + 2 + 3”计算得到的10。
你要编写一个计算测试结果分数的程序。


输入
您的程序是从标准输入读取。输入由T个测试用例组成。在输入的第一行中给出测试用例T的数量。每个测试用例以一个包含由\'O\'和\'X\'组成的字符串的行开始,并且字符串的长度大于0且小于80.在\'O\'和\'X\'之间没有空格。


输出
您的程序将由标准输出写入。每个测试用例输出一行。该行是包含测试用例的得分。
下面显示了五个测试用例的输入和输出示例。


样例输入
5
OOXXOXXOOO
OOXXOOXXOO
OXOXOXOXOXOXOX
OOOOOOOOOO
OOOOXOOOOXOOOOX


样例输出
10
9
7
55
30

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

int main()
{
    int t,sum,cnt,i,len;
    char str[80];
    scanf("%d",&t);
    while(t--)
    {
        scanf("%s",str);
        sum=0,cnt=0;
        len=strlen(str);
        for(i=0;i<len;i++)
        {
            if(str[i]==\'O\') cnt+=1;
            else cnt=0;
            sum+=cnt;
        }
        printf("%d\\n",sum);
    }
    return 0;
}
View Code

 

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

UVa 1585 Score --- 水题

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

UVa 1585 - Score

chaper3_exercise_Uva1585_score

uva 1585

UVA1585