给出一个由O和X组成的串(长度为1~80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0.例如OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3
#include<stdio.h>
#include<string.h>
int main()
{
char s[80];
int T;
int i;
int len;
int sum=0;
scanf("%d",&T);
while(T–)
{
scanf("%s",s);
len=strlen(s);
for(i=0;i<=len;i++)
{
if(s[i]‘O’)
{
int k=0;
while(s[i+k]‘O’)
{
sum+=k+1;
k++;
}
i=i+k;
}
}
printf("%d",sum);
}
}
注意这个k。
得分问题(UVa1585)
最新推荐文章于 2026-07-22 09:59:30 发布
本文介绍了一种算法,用于统计由O和X组成的字符串的得分,其中O的得分基于其连续出现的次数,而X的得分为0。通过遍历字符串并使用计数器跟踪连续的O来实现。
&spm=1001.2101.3001.5002&articleId=83511937&d=1&t=3&u=0196d5b119d14e2b94f8c0dde99690d9)
1546

被折叠的 条评论
为什么被折叠?



