习题3-1 UVA1585 Score(21行AC代码)

紫书刷题进行中,题解系列点这里

习题3-1 UVA1585 Score(21行AC代码)

思路分析

遍历输入字符串,用cnt记录已连续的O个数,ans记录总和,若当前字符为X,cnt=0;否则ans+=cnt

AC代码(C++11)

#include<bits/stdc++.h>
using namespace std;
int main() {
    int n, ans, cnt;
    string s;
    scanf("%d", &n);
    while(n --) {
        cin >>s;
        ans = cnt = 0;
        for (auto ch : s) {
            if (ch == 'X') cnt = 0;
            else {
                cnt ++;
                ans += cnt;
            }
        }
        printf("%d\n", ans);
        
    }
    return 0;
}

版权声明:本文为qq_40738840原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。