蒟蒻0分求救=-=下载了样例一,感觉一样啊,结果还是0分emm……

P1320 压缩技术(续集版)

青鱼Official @ 2020-02-25 22:41:54

#pragma GCC optimize(1)//美国标准不变形油钢
#pragma GCC optimize(2)//氧气
#pragma GCC optimize(3)//哦~舒服
#include <bits/stdc++.h>
using namespace std;
void write(int x){
    if(x>=10) write(x/10);
    putchar(x%10+'0');
}
void read(int &s){
    s=0;
    bool flag=false;
    char ch=getchar();
    while(!isdigit(ch)){
    if(ch=='-') flag=true;
    ch=getchar();
    }
    while(isdigit(ch)){
    s=s*10+ch-'0';
    ch=getchar();
    }
    if(flag) s*=-1;
}
string st;
int n;
int ans[400086],ln=1;
int main()
{
    cin>>st;
    getchar();
    n=st.size();
    if(st[0]!='0')
        ans[ln++]=0;
    //第一行特判
    int sum=1;//000 1 000
    for(int i=1;i<st.size();i++)
    {
        if(st[i]!=st[i-1])
            ans[ln++]=sum,sum=0;
        sum++;
    }
    // 0 '4'    
    int t=(getchar()-'0');
    if(t!=st[st.size()-1])
        ans[ln++]=sum,sum=1;
    else
        sum++;
    for(int i=1;i<=n*n-n-1;i++)
    {
        char tt=getchar();//'0'
        if(!isdigit(tt))
        {
            i--;
            continue;
        }
        int r=(tt-'0');
        if(r!=t)
            ans[ln++]=sum,sum=0;
        t=r;
        sum++;
    }
    ans[ln++]=sum;
    cout<<n<<' ';
    for(int i=1;i<ln;i++)
        cout<<ans[i]<<' ';
    cout<<endl;
    return 0;
}

by fhzzxxx @ 2020-06-10 11:16:17

同样的遭遇


by ihesro @ 2020-06-26 23:24:22

@殇丿独孤成宇

不要多输出东西。附上我的代码:

#include <bits/stdc++.h>
using namespace std;
int main(){
    string s[200];cin>>s[0];int n=s[0].size();char cur='0';int sum=0;for(int i=1;i<n;i++)cin>>s[i];
    cout<<n<<' ';
    for(int i=0;i<n;i++)for(int j=0;j<n;j++)if(s[i][j]==cur){
        sum++;
        }else{
        cout<<sum<<' ';
        sum=1;
        cur=s[i][j];
    }
    cout<<sum;
    return 0;
}

by 青鱼Official @ 2020-06-27 10:23:22

C了C了,谢谢大佬@ihesro


|