codeforces/contest/1605 ABC题解

https://codeforces.com/contest/1605
A:

//由于可以转移,最终都可以1 1 1这种比例,如果不是%3==0,0 1 1,差1
void test() {
    int a,b,c;
    _read(a),_read(b),_read(c);
    if((a+b+c)%3==0) puts("0");
    else puts("1");
}

B:`

//暴力遍历就可以,10序列下标计入答案,排序输出
void solve() {
    _read(n), cin >> s;
    vector<int> v;

    _for(i, 0, n) {
        if(s[i] == '1') {
            _down(j, n - 1, i + 1) {
                if(s[j] == '0') {
                    s[j] = 'x';
                   // cout<<"test:"<
                    v.push_back(i);
                    v.push_back(j);
                    break;
                }
            }
        }
    }
    if(v.size() == 0) {
        puts("0");
        go;
    }
    sort(v.begin(), v.end());
    puts("1");
    cout << v.size();
    for(auto c : v) {
        cout<<" "<<++c;
    }puts("");


}

C:

//只有这四种情况
void solve() {
    int n;
    string s;
    cin >> n >> s;
    _for(i,0,n-1){
        if(s.substr(i,2)=="aa"){
             puts("2");
             go;
        }
    }
    _for(i,0,n-2){
        if(s.substr(i,3)=="aca"||s.substr(i,3)=="aba"){
            puts("3");
            go;
        }
    }
    _for(i,0,n-3){
        if(s.substr(i,4)=="abca"||s.substr(i,4)=="acba"){
            puts("4");
            go;
        }
    }
    _for(i,0,n-6){
        if(s.substr(i,7)=="abbacca"||s.substr(i,7)=="accabba"){
            puts("7");
            go;
        }
    }
    puts("-1");
}

我是废物

你可能感兴趣的:(c++)