C++程序检查足球比赛中球员位置是否危险


假设我们有一个大小为n的二进制字符串S。阿马尔非常喜欢足球。有一天,他正在观看一场比赛,他正在一张纸上写下球员的当前位置。给定的字符串是书面位置。零对应于一支球队的球员;一对应于另一支球队的球员。如果至少有7名球员来自同一支球队连续站立,则这种情况被标记为“危险”。我们必须检查它是否危险。

问题类别

为了解决这个问题,我们需要操作字符串。编程语言中的字符串是存储在特定数组类型中的字符流。几种语言将字符串指定为特定数据类型(例如Java、C++、Python);而其他几种语言将字符串指定为字符数组(例如C)。字符串在编程中起着重要作用,因为它们通常是各种应用程序中首选的数据类型,并且用作输入和输出的数据类型。有各种字符串操作,例如字符串搜索、子字符串生成、字符串剥离操作、字符串转换操作、字符串替换操作、字符串反转操作等等。查看下面的链接以了解如何在C/C++中使用字符串。

https://tutorialspoint.com/cplusplus/cpp_strings.htm

https://tutorialspoint.com/cprogramming/c_strings.htm

因此,如果我们问题的输入类似于S = "1000000001001",则输出将为True,因为有8 > 7个连续的0。

步骤

为了解决这个问题,我们将遵循以下步骤 -

if "0000000" is in S, then:
   return true
otherwise when "1111111" is in S, then:
   return true
return false

示例

让我们看看以下实现以获得更好的理解 -

#include <bits/stdc++.h>
using namespace std;
bool solve(string S){
   if (S.find("0000000") != string::npos){
      return true;
   }
   else if (S.find("1111111") != string::npos){
      return true;
   }
   return false;
}
int main(){
   string S = "1000000001001";
   cout << solve(S) << endl;
}

输入

"1000000001001"

输出

1

更新于: 2022年4月8日

342 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告