zoukankan      html  css  js  c++  java
  • UVA1585

    如何计算你们的得分呢?,如“OOXXOXXOOO”。 “O”表示问题的正确答案,“X”表示错误的答案。那么它得分是由它自己和它刚刚以前连续的'O'只有当答案是正确的。

    例如,第10个问题的分数是由其自身和它的两个先前连续的“0”获得的3。

    因此,“OOXXOXXOOO”的得分是通过“1 + 2 + 0 + 0 + 1 + 0 + 0 + 1 + 2 + 3”计算的10。你要编写一个计算测试结果分数的程序。

    输入

    输入第一行一个整数T,表示由T个测试用例组成。

    每个测试用例以包含由'O'和'X'组成的字符串的行开始,并且字符串的长度大于0且小于80.在'O'和'X'之间没有空格。

    输出

    每个测试用例输出一行。该行是包含测试用例的分数。

    样例输出

    5

    OOXXOXXOOO

    OOXXOOXXOO

    OXOXOXOXOXOXOX

    OOOOOOOOOO

    OOOOXOOOOXOOOOX

    样例输出

    10

    9

    7

    55

    30

    #include<iostream>
    #include<algorithm>
    #include<string>
    #include<cmath>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int main() 
    {
    	string s;  
    	int t;
    	cin>>t;
    	while(t--)
    	{
    		cin>>s;
    		int i,j,sum=0,t=0;
    		int l=s.length();
    		for(i=0;i<l;++i)
    		{
    			t=0;
    			if(s[i]=='O')
    			{
    				t=1;
    				sum+=t;
    				for(j=1;j<l;++j)
    				{
    					if(s[i+j]=='O')
    					{
    						++t;
    						sum+=t;
    					}
    					else
    						break;
    				}
    				i+=j-1;
    			}
    		}
    		cout<<sum<<endl;
    	}
    	return 0;
    }
  • 相关阅读:
    11.linux下find命令详解
    10.Linux tcpdump命令详解
    9.linux下free命令详解
    8.Linux网络流量实时监控ifstat iftop命令详解
    7.linux sar 命令详解
    N球M盒
    bzoj1071 [SCOI2007]组队
    php弱类型
    HCTF
    不负光阴就是最好的努力,而努力就是最好的自己。
  • 原文地址:https://www.cnblogs.com/aerer/p/9931028.html
Copyright © 2011-2022 走看看