Skip to content

寻找变化前的01序列

Original Link

思想

  • 模拟
    • res 记录出现的连续的 \(1\) 的个数:
      • 若出现 s[i] == '0' 则将其置零。
      • res == 5 则不输出任何内容。
      • 其他情况下直接输出 s[i]

代码

cpp
#include <bits/stdc++.h>
using namespace std;

void solve(){
    string s; cin >> s;
    int res = 0;
    for(int i = 0; i < s.size(); i ++){
        if(res == 5) res = 0;
        else{
            if(s[i] == '1') res ++;
            else res = 0;
            cout << s[i];
        }
    }
    cout << endl;
}

int main(){
    int _; cin >> _;
    while(_ --) solve();
    return 0;
}