离奇的错误

P1320 压缩技术(续集版)

CZ_7 @ 2021-01-01 21:30:32

#include<bits/stdc++.h>
using namespace std;
int n,a[10000],cnt,kk,ans;
char pp;
bool b;
int main(){
    freopen("text.in","r",stdin);
    freopen("text.out","w",stdout);
    while(cin>>pp){
        cnt++;
        a[cnt]=pp-'0';
    }
    kk=0;
    cout<<sqrt(cnt)<<' ';
    for(int i=1;i<=cnt;i++){
        //cout<<a[i]<<' ';
        if(a[i]!=a[i-1]){
            cout<<kk<<' ';
            kk=0;
        }
        kk++;
    }
    cout<<kk;
    return 0;
}

by 10circle @ 2021-01-01 21:49:51

数组开小了

如果开始是1,那么不计数,从第一堆0开始。

不建议用sqrt,可能有精度问题


|