专栏文章

题解:P1320 压缩技术(续集版)

P1320题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mip68zop
此快照首次捕获于
2025/12/03 06:50
3 个月前
此快照最后确认于
2025/12/03 06:50
3 个月前
查看原文
本题可以通过字符串数组进行记录。先读入所有的字符串,再对数组中的所有字符进行判断。注意如果第一个字符是 1 时要先输出 00,因为题目要求先输出 0 的个数。

AC code

CPP
#include<bits/stdc++.h>
using namespace std;
string a[666];//使用字符串数组存储
int main(){
    int i=0;
    while(cin>>a[i]){//重复输入直到结束
        i++;//变量自增
    }
    int n=a[0].size();//a[0].size()即为题目所求的n
    cout<<n<<" ";//输出n
    char now=a[0][0];//当前判断值为a[0][0]
    if(now=='1') cout<<0<<" ";//由于先求0的个数,当a[0][0]为1时0的个数为0,输出0
    int c=0;//计数变量
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(a[i][j]!=now){//当a[i][j]不等于上一个值时
                cout<<c<<" ";//输出
                c=1;//计数变量改为1
            }else{
                c++;//计数变量自增
            }
            now=a[i][j];//改变当前值
        }
    }
    cout<<c;//最后输出c的值
    return 0;//完结撒花
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...