UVa1585得分
分析:原本想着要一个个挨着去找连续出现的O的个数,结果发现,其实直接就是动态规划吖,dp[i]就是到这一位时连续出现的O的个数。
代码:
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
string a;
int sum=0;
cin>>a;
int i=0,len=a.length(),j=0;
int b[len];
for(i=0;i<len;i++)
{
if(a[i]=='X')
{
b[i]=0;
}
else if(a[i]=='O')
{
b[i]=1;
}
}
for(i=1;i<len;i++)
{
if(a[i]=='O')
{
b[i]+=b[i-1];
}
}
for(i=0;i<len;i++)
{
sum+=b[i];
}
cout<<sum<<'\n';
}
return 0;
}
由于UVa的网站太难进了,所以没有测试,先暂时保存一下草稿吧。
作为一个开始,以后都要认真解题,总结经验