简单易懂题解
2026-05-07 17:12:42
发布于:北京
5阅读
0回复
0点赞
题目十分简单,去当入门题罢
这是代码,简单易懂,判断0000000和1111111是否为s的子串即可
#include <iostream>
#include <string>
using namespace std;
bool check(string s,string s2) {
for(int i = 0;i < s.size() - 7;i++) {
if(s.substr(i,7) == s2) {
// substr用法:查阅 https://www.baidu.com/s?ie=UTF-8&wd=c%2B%2Bsubstr%E7%94%A8%E6%B3%95&tn=75144485_1_dg&ch=7
return true; // 发现7个连续0/1
}
}
return false; // 没有找到7连,返回不危险
}
// 1234 4
// 23 2
int main() {
string s;
cin >> s;
if(s.size() < 7) {
cout << "NO";
return 0;
} else if(s.size() == 7) { // 必须有这个判断,不然你交一个试试
if(s == "0000000" || s == "1111111") {
cout << "YES";
} else {
cout << "NO";
}
return 0;
}
bool danger = (check(s,"0000000") | check(s,"1111111")); // 是否危险
if(danger) cout << "YES";
else cout << "NO";
return 0;
}
附加了substr使用方法网站
ok结束
给!个!赞!吧!
全部评论 5
需要更有效率的题解的看另一篇
19小时前 来自 北京
1需要更效率的题解的看另一篇
19小时前 来自 北京
1需要更效率的题解的看另一篇
19小时前 来自 北京
1需要更效率的题解的看另一篇
19小时前 来自 北京
1需要更效率的题解的看另一篇哦(重要的事情说5遍)
19小时前 来自 北京
0







有帮助,赞一个