UVa 1585 Score(得分)
Posted satans
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVa 1585 Score(得分)相关的知识,希望对你有一定的参考价值。
例如,第10个问题的分数是由其自身和它的两个先前连续的“0”获得的3。
因此,“OOXXOXXOOO”的得分是通过“1 + 2 + 0 + 0 + 1 + 0 + 0 + 1 + 2 + 3”计算的10。你要编写一个计算测试结果分数的程序。输入输入第一行一个整数T,表示由T个测试用例组成。
每个测试用例以包含由‘O‘和‘X‘组成的字符串的行开始,并且字符串的长度大于0且小于80.在‘O‘和‘X‘之间没有空格。输出每个测试用例输出一行。该行是包含测试用例的分数。样例输出5OOXXOXXOOO
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(得分)的主要内容,如果未能解决你的问题,请参考以下文章
习题3-1 得分(Score, ACM/ICPC Seoul 2005, UVa1585)