1 条题解

  • 0
    @ 2025-9-24 9:31:27
    #include<bits/stdc++.h>
    using namespace std;
    void read(int &h){
        char o;
        int x=0,y=1;
        o=getchar_unlocked();
        while(!(o<='9'&&o>='0')){
            if(o=='-'){
                y=-1;
            }
            o=getchar_unlocked();
        }
        while(o<='9'&&o>='0'){
            x*=10;
            x+=o-'0';
            o=getchar_unlocked();
        }
        h=x*y;
        return ;
    }
    int ans[40000];
    int n;
    int cnt;
    char a,last;
    int num;
    bool flag=1;
    int first_=1;
    int main(){
        while(cin>>a){
            cnt++;
            if(flag){
                ans[num]++;
                flag=0;
                if(a=='1'){
                    first_=0;
                }
            }
            else{
                if(a!=last){
                    num++;
                }
                ans[num]++;
            }
            last=a;
        }
        cout<<(int)sqrt(cnt);
        if(first_==0){
            cout<<" "<<first_;
        }
        for(int i=0;i<=num;i++){
            cout<<" "<<ans[i];
        }
        return 0;
    }
    
    
    • 1

    信息

    ID
    5378
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    42
    已通过
    15
    上传者