为什么是错的?求解

P1320 压缩技术(续集版)

difficultlong @ 2024-08-31 18:42:34

#include<bits/stdc++.h>
using namespace std;
char s1[201],ch;
int sum=1;
char s[40001];
int main(){
    scanf("%s",s1+1);
    int len=strlen(s1+1);
    for(int i=1;i<=len;i++){
        s[i]=s1[i];
    }
    int p=len;
    for(int i=len;i<=len*len+6;i++){
        scanf("%c",&ch);
        if(ch=='\n'){
            continue;
        }
        p++;
        s[p]=ch;
    }
    printf("%d ",len);
    for(int i=1;i<=len*len;i++){
        if(s[i]==s[i+1]){
            sum++;
        }
        else{
            printf("%d ",sum);
            sum=1;
        }
    }
    return 0;
}

为什么是错的,求大佬指出。


by hjxxlsx @ 2024-08-31 19:13:36

#include<cstdio>
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
vector<string>ve; 
int main(void)
{
    string s;
    while(cin>>s) ve.push_back(s);
    cout<<ve.size()<<" ";
    string ans;
    for(int i=0;i<ve.size();i++) ans+=ve[i];
    if(ans[0]!='0') cout<<0<<" ";//如果开头不是0 那么输出零
    int cnt=1;
    for(int i=1;i<ans.size();i++)
    {
        if(ans[i]!=ans[i-1])
        {
            cout<<cnt<<" "; 
            cnt=0;
        }
        cnt++;
    }
    cout<<cnt;
    return 0;
} 

by hjxxlsx @ 2024-08-31 19:14:17

上面是正确代码


by difficultlong @ 2024-08-31 19:25:22

@hjxxlsx 那么哪里错了,我真的不知道,我不是伸手党


by difficultlong @ 2024-08-31 19:26:07

@bianchengzai 到底哪里错了,我要理由,我不是伸手党,谢谢大家


by hjxxlsx @ 2024-08-31 19:26:22

好,让我看看


|