zoukankan      html  css  js  c++  java
  • UVa 1585 Score --- 水题

      题目大意:给出一个由O和X组成的串(长度为1-80),统计得分。

           每个O的分数为目前连续出现的O的个数,例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3

      解题思路:用一个变量term记录当前O的分数,若出现O,则term+1,若出现X,则term=0;

           再用一个sum记录总和,没次加上term即可

    /* UVa 1585 Score --- 水题 */
    #include <cstdio>
    #include <cstring>
    
    const int maxn = 85;
    
    int main()
    {
        int t;
        char s[maxn];
    
        scanf("%d", &t);
        while (t--){
            scanf("%s", s);
            int n = strlen(s);
            int flag = 0, sum = 0;
            for (int i = 0; i < n; ++i){
                //落连续出现,次O分数+1
                if (s[i] == 'O'){
                    ++flag;
                }
                else{
                    flag = 0;
                }
                sum += flag;    //更新总和
            }
            printf("%d
    ", sum);
        }
    
        return 0;
    }
    View Code
  • 相关阅读:
    Git 基本操作
    Git 基础
    MarkDown教程
    Python常用函数
    Python生成器
    Python列表生成式
    Python迭代
    Python切片
    Python函数
    Python不可变对象
  • 原文地址:https://www.cnblogs.com/tommychok/p/5340793.html
Copyright © 2011-2022 走看看