zoukankan      html  css  js  c++  java
  • 字符串入门练习题4 足球比赛中的危险状态 题解

    题目出处:http://codeforces.com/problemset/problem/96/A

    题目描述

    灵灵非常喜欢足球。
    有一天,灵灵正在看一场足球比赛,在看比赛的同时灵灵在纸上写下了每一位运动员当前的位置。
    为了简化所有运动员的位置的描述,灵灵将其简化成了仅由字符 "0" 和 "1" 描述的一个字符串。
    每一个 "0" 表示主队的一个运动员,每一个 "1" 表示客队的一个运动员。
    如果当前的位置中存在连续的7个运动员是同一个队伍的,那么我们将这个状态称为危险状态。
    举个例子,状态 “00100110111111101” 是危险状态,而状态 “11110111011101” 不是危险状态。
    给你一个当前灵灵描绘出来的所有运动员的位置,请确认这个状态是不是危险状态。

    输入格式

    输入包含一个字符串,用于表示灵灵描绘出的所有运动员的位置。(字符串长度不会超过100)

    输出格式

    如果所有运动员的位置是一个危险状态,输出“YES”;否则,输出“NO”。

    样例输入1

    001001
    

    样例输出1

    NO
    

    样例输入2

    1000000001
    

    样例输出2

    YES
    

    题目分析

    这道题目很明显了,其实就是给你一个字符串 s ,确定字符串中是不是存在 7 个连续的 "0" 或者 7 个连续的 "1"。
    所以我们可以开一个变量 cnt 来记录:
    每当我们当前遍历的字符串和前一个字符串不一样(或者当前字符串是第0个字符串),我们将 cnt 置为 1;
    每当我们当前遍历的字符串和前一个字符串一样,我们将 cnt ++;
    如果某一个时刻 cnt >= 7,则说明是危险状态;如果遍历完字符串 cnt 都没能达到 7,则说明不是危险状态。

    使用 char 数组实现的代码如下:

    #include <bits/stdc++.h>
    using namespace std;
    
    char ch[110];
    int cnt;
    
    int main() {
        cin >> ch;
        for (int i = 0; ch[i]; i ++) {
            if (!i || ch[i] != ch[i-1]) cnt = 1;
            else {
                cnt ++;
                if (cnt >= 7) {
                    puts("YES");
                    return 0;
                }
            }
        }
        puts("NO");
    }
    

    使用 string 实现的代码如下:

    #include <bits/stdc++.h>
    using namespace std;
    
    string s;
    int cnt;
    
    int main() {
        cin >> s;
        int n = s.length();
        for (int i = 0; i < n; i ++) {
            if (!i || s[i] != s[i-1]) cnt = 1;
            else {
                cnt ++;
                if (cnt >= 7) {
                    puts("YES");
                    return 0;
                }
            }
        }
        puts("NO");
        return 0;
    }
    
  • 相关阅读:
    Java面试题总结之JDBC 和Hibernate
    Java面试题总结之数据库与SQL语句
    Java面试题总结之OOA/D,UML,和XML
    Java面试题总结之数据结构、算法和计算机基础(刘小牛和丝音的爱情故事1)...
    文件路径的引用问题(配置文件路径vue.config.js)
    vue-cli2引入Bootstrap和jQuery
    ES6常用语法总结
    vue-cli4引入jquery和bootstrap
    vue-router的两种模式(hash和history)及区别
    本地存储localStorage的用法总结
  • 原文地址:https://www.cnblogs.com/zifeiynoip/p/11450573.html
Copyright © 2011-2022 走看看