UVa1585 解题报告
这是一道非常入门的题,新手可以很容易的做出来。不用说太多,原理就是扫描一次string,遇到O则加分并且将用于记录当前O的分数大小的变量cnt加一,遇到X则将cnt归零(因为我计数时采用++cnt的形式)。
以下是代码(可直接AC):
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::string;
int main()
{
string s;
int score,cnt;
int T;
cin>>T;
while(T--)
{
cin>>s;
score=cnt=0;
for(int i=0;i<s.length();i++)
if(s[i]=='O')
score+=(++cnt);//连续记分自增
else
cnt=0;//不是O就将连续记分归零
cout<<score<<'\n';
}
return 0;
}