2178-Football ZCMU

本文介绍了一个简单的足球比赛场景分析程序,该程序通过输入由0和1组成的字符串来表示两支队伍球员的位置,并判断是否存在一方连续7名球员无间隔的情况,以此评估比赛的危险性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Description:

Petya loves football very much. One day, as he was watching a football match, he was writing the players' current positions on a piece of paper. To simplify the situation he depicted it as a string consisting of zeroes and ones. A zero corresponds to players of one team; a one corresponds to players of another team. If there are at least 7 players of some team standing one after another, then the situation is considered dangerous. For example, the situation 00100110111111101 is dangerous and 11110111011101 is not. You are given the current situation. Determine whether it is dangerous or not.

Input

The first input line contains a non-empty string consisting of characters "0" and "1", which represents players. The length of the string does not exceed 100 characters. There's at least one player from each team present on the field.

Output

Print "YES" if the situation is dangerous. Otherwise, print "NO".

Examples

Input

001001

Output

NO

Input

1000000001

Output

YES

题意:1和0分别代表两个球队的队员,如果存在一个球队的两个队员之间存在有至少7个另一个球队的队员,那么视这种情况为危险情况

思路:每两个同队的队员中间位置情况判断一次,看是否符合危险情况

代码:

#include<stdio.h>
#include<string.h>
int main()
{
    int i,j,len,zero,one,flag;
    char str[105];
    while(~scanf("%s",str))
    {
        len=strlen(str);
        if(len<=7)
        {
            printf("NO\n");
            continue;
        }
        zero=one=0; flag=0;
        for(i=7;i<len;i++)
        {
            if(str[i]=='0')
            {
                for(j=i-1;j>=0;j--)
                {
                    if(str[j]=='1')
                        one++;
                    else
                        break;
                }
                if(one>=7)
                    flag=1;
                else
                    one=0;
            }
            else
            {
                for(j=i-1;j>=0;j--)
                {
                    if(str[j]=='0')
                        zero++;
                    else
                        break;
                }
                if(zero>=7)
                    flag=1;
                else
                    zero=0;
            }
          if(flag==1)
            break;
        }
        if(flag==1)
          printf("YES\n");
        else
          printf("NO/n");
    }
    return 0;
}

 

<think>好的,用户想查询ZCMU OJ 1318的目详情或解方法。首先,我需要确认自己是否了解这个目。由于ZCMU OJ的目可能不在我的训练数据中,我需要根据现有的引用信息进行推断,或者给出一般性的建议。 查看用户提供的引用,发现引用1提到了1614涉及字符串替换和大小写处理,引用2是1489关于数气球,引用3是1900关于并查集的应用。这些信息可能帮助用户解决类似问,但用户明确询问的是1318,因此需要处理这个具体的问。 首先,我需要检查是否有关于1318的引用,但用户给出的引用中并没有直接提到1318。因此,可能需要建议用户通过目编号查找或根据常见型推测。例如,ZCMU目可能涉及数据结构、算法或字符串处理等。考虑到引用中的其他目涉及字符串处理和并查集,1318可能属于类似类型。 接下来,我应该建议用户检查目链接或提供更多细节,比如目描述或输入输出样例,以便更准确地分析。同时,可以给出常见的解思路,比如字符串处理、动态规划或图论算法,并参考现有引用中的类似目,如字符串处理要注意大小写(引用1),数气球可能涉及计数或哈希表(引用2),并查集用于处理连通性问(引用3)。 如果用户无法提供更多信息,可以建议搜索ZCMU OJ的在线资源或论坛,比如官方网站、GitHub解或相关讨论区。此外,提供通用的解步骤,如分析输入输出、确定算法、处理边界情况等,可能对用户有帮助。 最后,生成相关问,引导用户进一步提问或提供更多细节,以便更精准地解答。</think>根据现有资料,ZCMU OJ 1318的具体目内容未在提供的引用中直接提及。以下是帮助您解决此类编程目的通用方法及建议: ### 常见解思路(适用于ZCMU OJ型) 1. **字符串处理** 若涉及字符串操作(如引用[^1]中1614的替换和大小写处理): ```python # 示例:字符串替换时保留大小写标记 original = "HelloWorld" positions = [0 if c.isupper() else 1 for c in original] # 记录大小写位置 modified = original.lower().replace("world", "Python") result = "".join([c.upper() if positions[i]==0 else c for i,c in enumerate(modified)]) ``` 2. **并查集应用** 若涉及连通性问(如引用[^3]中1900的多米诺骨牌): ```python class UnionFind: def __init__(self, n): self.parent = list(range(n+1)) def find(self, x): if self.parent[x] != x: self.parent[x] = self.find(self.parent[x]) return self.parent[x] def union(self, x, y): self.parent[self.find(y)] = self.find(x) ``` 3. **计数与统计** 若涉及数值统计(如引用[^2]中1489的气球计数): ```python from collections import defaultdict def count_balloons(arr): counter = defaultdict(int) for num in arr: counter[num] += 1 return max(counter.values()) if counter else 0 ``` ### 建议步骤 1. **获取目描述** 访问ZCMU OJ官网或通过目编号搜索获取1318的输入输出样例及具体要求。 2. **分析问类型** - 若涉及字符串:注意大小写处理、特殊符号过滤 - 若涉及数学:推导公式或使用动态规划 - 若涉及图论:构建邻接表或应用DFS/BFS 3. **参考相似目** 如引用的字符串替换需额外记录大小写位置,这种技巧可推广到其他需要保留原始格式的场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值