zoukankan      html  css  js  c++  java
  • 洛谷-P1320 压缩技术(续集版)

    洛谷-P1320 压缩技术(续集版)

    原题链接:https://www.luogu.com.cn/problem/P1320


    题目描述

    设某汉字由N X N的0和1的点阵图案组成,如下图。我们依照以下规则生成压缩码。连续一组数值:从汉字点阵图案的第一行第一个符号开始计算,按书写顺序从上到下,由左到右。第一个数表示连续有几个0,第二个数表示接下来连续有几个1,第三个数再接下来连续有几个0,第四个数接着连续几个1,以此类推。。。

    例如: 以下汉字点阵图案:

    0001000

    0001000

    0001111

    0001000

    0001000

    0001000

    1111111

    对应的压缩码是: 7 3 1 6 1 6 4 3 1 6 1 6 1 3 7 (第一个数是N ,其余各位表示交替表示0和1 的个数,压缩码保证 N X N=交替的各位数之和)

    输入格式

    汉字点阵图(点阵符号之间不留空格)。(3<=N<=200)

    输出格式

    一行,压缩码。

    输入输出样例

    输入 #1

    0001000
    0001000
    0001111
    0001000
    0001000
    0001000
    1111111
    

    输出 #1

    7 3 1 6 1 6 4 3 1 6 1 6 1 3 7
    

    C++代码

    #include <iostream>
    #include <cstring>
    using namespace std;
    
    int main() {
        string s[200];
        cin >> s[0];
        int len = s[0].length();
        for (int i=1; i<len; ++i)
            cin >> s[i];
        int a[len*len], b[len*len];
        int flag=0, count=0, k=0;
        for (int i=0; i<len; ++i)
            for (int j=0; j<len; ++j)
                if (s[i][j]-'0' == flag)
                    ++count;
                else {
                    b[k++] = count;
                    count = 1;
                    flag = !flag;
                }
        b[k++] = count;
        cout << len;
        for (int i=0; i<k; ++i)
            cout << ' ' << b[i];
        cout << endl;
        return 0;
    }
    
  • 相关阅读:
    作业 第四 张垚
    软件测试课堂练习 张垚
    增删改查
    计算器 作业
    activity 张垚
    第四作业 张垚
    第六周作业
    jsp第四周作业
    jsp求1-100之间的素数和
    JSP第一次测试
  • 原文地址:https://www.cnblogs.com/yuzec/p/13372192.html
Copyright © 2011-2022 走看看