UVA - 1585
分析
遇到X结算前面的O的等差数列和,结尾再结算一次。
代码块
#include <iostream>
using namespace std;
int main()
{
int t;
int c=0;
char d;
cin>>t;
//getchar();
getchar();
int sum[80];
for(int i=0;i<t;i++)
{
sum[i]=0;c=0;
while((d=getchar())!='\n')
{
if (d=='O') c++;
else {sum[i]+=0.5*(c+c*c);c=0;}
}
sum[i]+=0.5*(c+c*c);
}
for (int i=0;i<t;i
++)
{
cout<<sum[i]<<endl;
}
return 0;
}