社区讨论

求助,卡了好久了

B3935[语言月赛 202402] 数字串参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@ltzn5nx2
此快照首次捕获于
2024/03/20 18:09
2 年前
此快照最后确认于
2024/03/20 20:20
2 年前
查看原帖
CPP
int main() {

    int t;
    cin >> t;
    int n,m;
    string s;

    for(int i =0; i<t; i++) {
        bool ans = true;
        cin >> n >> m >> s;
        int flag =0,zeroNums = 0,oneNums = 0,dist = 0;

        int t1 = s.find('1');
        int t2 = s.find('1',t1+1);
        if(t1!=string::npos&&t2!=string::npos) {
            dist = t2-t1-1;

        } else if(t1==string::npos&&t2==string::npos) {
            dist = -1;
        }

        if(dist>n) {
            ans = false;
            cout << "No\n";
            continue;
        } else if(dist == -1) {
            if(s.size()>n) {
                cout << "No\n";
            } else {
                cout << "Yes\n";
            }
            continue;
        }

        int cnt = 0;
        for(int i =0; i<m; i++) {
            if(s[i] == '0') {
                cnt ++;
            } else {
                if(cnt>dist) {
                    ans = false;
                    break;
                }
                cnt = 0;
            }
        }

        if(!ans) {
            cout << "No\n";
        } else {
            cout << "Yes\n";
        }
    }
    return 0;
}



回复

0 条回复,欢迎继续交流。

正在加载回复...