C++程式檢查足球比賽中球員位置是否危險


假設我們有一個大小為n的二進位制字串S。阿馬爾非常喜歡足球。有一天,他正在觀看一場比賽,他正在一張紙上寫下球員的當前位置。給定的字串是書面位置。零對應於一支球隊的球員;一對應於另一支球隊的球員。如果至少有7名球員來自同一支球隊連續站立,則這種情況被標記為“危險”。我們必須檢查它是否危險。

問題類別

為了解決這個問題,我們需要操作字串。程式語言中的字串是儲存在特定陣列型別中的字元流。幾種語言將字串指定為特定資料型別(例如Java、C++、Python);而其他幾種語言將字串指定為字元陣列(例如C)。字串在程式設計中起著重要作用,因為它們通常是各種應用程式中首選的資料型別,並且用作輸入和輸出的資料型別。有各種字串操作,例如字串搜尋、子字串生成、字串剝離操作、字串轉換操作、字串替換操作、字串反轉操作等等。檢視下面的連結以瞭解如何在C/C++中使用字串。

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

https://tutorialspoint.tw/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 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告