请问我这代码有什么问题吗?样例过了,怎么都WA?

P1320 压缩技术(续集版)

zuoyang001 @ 2023-11-04 20:30:52

#include<bits/stdc++.h>
using namespace std;
string s;
long long num[100000],len,l=0,k1,k2,ans=0;
int main(){
    while(getline(cin,s)){
        if(s.size()==0)break;
        len=s.size();
        for(int i=0;i<len;i++){
            num[++l]=s[i]-'0';
        }
    }
    cout<<sqrt(l)<<" ";
    k1=num[1];
    ans=1;
    for(int i=2;i<=l;i++){
        k2=num[i];
        if(k1==k2){
            ans++;
        }
        else{
            k1=k2;
            cout<<ans<<" ";
            ans=1;
        }
    }
    cout<<ans;
    return 0;
}

by danlao @ 2023-11-04 20:50:27

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

char a,b='0';
int n,ans[1000001],z=1;

int main(){
 while(cin>>a){
    n++;
    if(a==b)
        ans[z]++;
    else
        ans[++z]++,
        b=a;
 }
 cout<<sqrt(n);
 for(int i=1 ; i<=z ; i++)
     cout<<" "<<ans[i];
}

这是我的代码,你可以对照一下


|