题意:给出一个由O和X组成的串(长度为1-80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0。例如OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3.
我的代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
char s[85];
int t,len,ans,cnt;
for(scanf("%d",&t);t;t--)
{
scanf("%s",s);
len=strlen(s),ans=0,cnt=0;
for(int i=0;i<len;i++)
{
if(s[i]=='O') ans+=(++cnt);
else cnt=0;
}
printf("%d\n",ans);
}
return 0;
}
本文介绍了一种算法,用于统计由O和X组成的字符串中O的得分,每个O的得分等于连续O的数量。通过遍历字符串并使用计数器跟踪连续O的数量来实现。

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



