P1319 压缩技术

题目描述

设某汉字由  × N×N 的 00 和 11 的点阵图案组成。我们依照以下规则生成压缩码。连续一组数值:从汉字点阵图案的第一行第一个符号开始计算,按书写顺序从左到右,由上至下。第一个数表示连续有几个 00,第二个数表示接下来连续有几个 11,第三个数再接下来连续有几个 00,第四个数接着连续几个 11,以此类推……例如: 以下汉字点阵图案:0001000000100000011110001000000100000010001111111对应的压缩码是: 7 3 1 6 1 6 4 3 1 6 1 6 1 3 77 3 1 6 1 6 4 3 1 6 1 6 1 3 7 (第一个数是  N ,其余各位表示交替表示0和1 的个数,压缩码保证  × =N×N= 交替的各位数之和)输入格式

输入 #1复制

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

输出 #1复制

0001000

0001000

0001111

0001000

0001000

0001000

1111111


import java.util.*;

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        int n = scanner.nextInt();

        StringBuffer sum= new StringBuffer();

        int count = 0;

        if (n >= 3 && n <= 200) {

            while (sum.length() < n * n) {

if (count % 2 == 0) {

                    int a = scanner.nextInt();

                    for (int i = 0; i < a; i++) {

                        sum.append("0");

                    }

                } else {

                    int b = scanner.nextInt();

                    for (int i = 0; i < b; i++) {

                        sum.append("1");

                    }

                }

                count++;

            }

  for (int i = 0; i < n * n; i++) {

                if (i % n == 0) {

                    System.out.print(" ");

                    System.out.println();

                }

                System.out.print(sum.charAt(i));

            }

        }

    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容