Codeforces Beta Round #77 (Div. 2 Only) A : Football
問題概要
01からなる長さ100以下の文字列が与えられる。0or1が7つ以上連続する箇所があるかどうかを判定する問題。
acceptされたコード
計算量O(strlen)。
#include <cstdio> using namespace std; const int MAX_L = 100; char buf[MAX_L + 1]; void init(){ scanf("%[^\n]%*c", buf); } bool solve(){ for(int i=0, cnt=1; buf[i]; i++){ if(buf[i] == buf[i + 1] && ++cnt >= 7 ){ return true; } else if(buf[i] != buf[i + 1]){ cnt = 1; } } return false; } int main(){ init(); puts(solve() ? "YES" : "NO"); return 0; }