c语言10分求助

P1320 压缩技术(续集版)

xi_inluogu @ 2023-11-28 19:55:38

#include <stdio.h>
int main()
{
    char map[200][201];
    int flag = 0,r = 0,count = 0;
    while(scanf("%s", map[r]) != EOF)
    {
        r++;
    }
    printf("%d ",r);
    for(int i = 0;i < r;i++)
    {
        for(int j = 0;j < r;j++)
        {
            if(!flag){
                if(map[i][j] == '0'){
                    count++;
                }
                if(map[i][j] == '1'){
                    printf("%d ",count);
                    count = 1;
                    flag = 1;
                }
            }
            if(flag){
                if(map[i][j] == '1'){
                    count++;
                }
                if(map[i][j] == '0'){
                    printf("%d ",count);
                    count = 1;
                    flag = 0;
                }
            }
        }
    }
    if(count > 0) printf("%d ",count);
    return 0;
}

代码如上,我没找到错误但是只有一个AC了剩下全WA,求大佬教教。


by _buzhidao_ @ 2023-11-28 19:56:37

@xi_inluogu

#include<bits/stdc++.h>
using namespace std;
int n;string s,w;
int main(){
    while(cin>>s){
        w+=s;
        ++n;
    }
    cout<<n<<' ';
    bool fl=0;int cnt=0;
    for(int i=0;i<w.size();++i){
        if((w[i]-48)==fl){
            cnt++;
        }
        else{
            cout<<cnt<<' ';
            fl=!fl;cnt=1;
        }
    }
    cout<<cnt;
    return 0;
}

by _buzhidao_ @ 2023-11-28 19:57:37

@xi_inluogu 人家map一个关键字当列表名,换个


by xi_inluogu @ 2023-11-28 20:00:10

@buzhidao 换了还是只有一个对的啊,(只学了C,看不懂C++)


by _buzhidao_ @ 2023-11-29 09:08:37

@xi_inluogu C++就是C,C可以交C++


|