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
  • 相关阅读:
    抓老鼠啊~亏了还是赚了?
    币值转换
    打印沙漏
    秋季学期学习总结
    PTA币值转化
    PTA作业
    秋季学习总结
    人生最重要的3个老师
    自我介绍
    vue入门(二) 让axios发送表单形式数据
  • 原文地址:https://www.cnblogs.com/tommychok/p/5340793.html
Copyright © 2011-2022 走看看