码迷,mamicode.com
首页 > 其他好文 > 详细

UVa 1585 Score(得分)

时间:2019-06-30 09:25:47      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:一个   解答   char   +=   tchar   getc   nta   之间   rip   

如何计算你们的得分呢?,如“OOXXOXXOOO”。 “O”表示问题的正确答案,“X”表示错误的答案。那么它得分是由它自己和它刚刚以前连续的‘O‘只有当答案是正确的。

例如,第10个问题的分数是由其自身和它的两个先前连续的“0”获得的3。

因此,“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 ans=0,num=1,n=0;
    char s=0;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        while(s!=‘X‘&&s!=‘O‘) s=getchar();
        while(s==‘X‘||s==‘O‘)
        {
            if(s==‘O‘)
            {
                ans+=num;
                num++;
            }
            else
            {
                num=1;
            }
            s=getchar();
        }
        printf("%d\n",ans);
        ans=0;
        num=1;
    }
    return 0;
}

UVa 1585 Score(得分)

标签:一个   解答   char   +=   tchar   getc   nta   之间   rip   

原文地址:https://www.cnblogs.com/satans/p/11108604.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!