1209: kx的压缩

2024-01-21 08:20
文章标签 压缩 kx 1209

本文主要是介绍1209: kx的压缩,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述

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

例如: 以下汉字点阵图案:
0001000
0001000
0001111
0001000
0001000
0001000
1111111

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

为了简化问题kx的男朋友sx已经帮他去掉了每一行的换行符 ,也就是说现在用一行输入

总字符输入仍然是是N*N个;

那么我们可以用一维字符来输入和存储:

char A[10011];

scanf("%s",A);//即可得到输入的这串字符

0的ascii码=48

输入样例

7
0001000000100000011110001000000100000010001111111
输出样例#1:
3 1 6 1 6 4 3 1 6 1 6 1 3 7

输入

N表示为N*N的矩阵(3<=N<=100)
汉字点阵图(点阵符号之间不留空格)一行。

输出

一行,压缩码。

样例输入
7
0001000000100000011110001000000100000010001111111
样例输出
3 1 6 1 6 4 3 1 6 1 6 1 3 7
提示

N<=100

【认真读题哦】

问题分析 

这一问题比较简单,直接给出代码

代码
#include<stdio.h>
#include<stdlib.h>
int main(){int n;scanf("%d", &n);int *num = (int *)malloc(sizeof(int)*n*n);for(int i=0; i<n*n; i++){num[i] = 0;}int count = 0;for(int i=0; i<n*n; i++){int nn;scanf("%1d", &nn);if(nn==count%2){num[count]++;}else{count+=1;num[count]++;}}for(int i=0; i<=count; i++){printf("%d ", num[i]);}return 0;
}

这篇关于1209: kx的压缩的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/628908

相关文章

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

hdu1565(状态压缩)

本人第一道ac的状态压缩dp,这题的数据非常水,很容易过 题意:在n*n的矩阵中选数字使得不存在任意两个数字相邻,求最大值 解题思路: 一、因为在1<<20中有很多状态是无效的,所以第一步是选择有效状态,存到cnt[]数组中 二、dp[i][j]表示到第i行的状态cnt[j]所能得到的最大值,状态转移方程dp[i][j] = max(dp[i][j],dp[i-1][k]) ,其中k满足c

通用内存快照裁剪压缩库Tailor介绍及源码分析(一)

背景 我们知道内存快照是治理 OOM 问题及其他类型的内存问题的重要数据源,内存快照中保存了进程虚拟机的完整的堆内存数据,很多时候也是调查其他类型异常的重要参考。但是dump出来的堆转储文件.hprof往往很大,以 LargeHeap 应用为例,其 OOM 时的内存快照大小通常在512M左右,要有效的存储和获取都是一个问题。 线下拿到hprof文件相对容易,也可以预防OOM,但覆盖的场景十分有

特征值分解(EVD)和奇异值分解(SVD)—应用于图片压缩

特征值分解(EVD)和奇异值分解(SVD)—应用于图片压缩 目录 前言 一、特征值分解 二、应用特征值分解对图片进行压缩 三、矩阵的奇异值分解 四、应用奇异值分解对图片进行压缩 五、MATLAB仿真代码 前言         学习了特征值分解和奇异值分解相关知识,发现其可以用于图片压缩,但网上没有找到相应代码,本文在学习了之后编写出了图片压缩的代码,发现奇异值分

Oracle高级压缩和透明数据加密组合实验

本文参考了实验DB Security - Advanced Compression with Transparent Data Encryption(TDE),其申请地址在这里。 本文只使用了实验中关于高级压缩和在线重定义的部分。并对要点进行说明及对实验进行了简化。 准备:环境设置 原文中的实验环境实际上是改自Oracle示例Sample Schema,其实唯一的改动就是去掉了SALES表中

hadoop平台gz、lzo压缩对比

压缩比: rcfile:             1.04 rcfile+snappy:      0.27 rcfile+lzo:         0.25 sequencefile:       0.83 sequencefile+snappy:0.84 sequencefile+lzo:   0.79 单列读取速度: select count(distinct product_no) rc

图片识别 中图片压缩和放大算法,最近邻插值,双线性插值

由于在神经网络中,输入的张量大小必须相同,但是图片大小不一定相同,我们需要对图片进行压缩和放大。     图像的缩放很好理解,就是图像的放大和缩小。传统的绘画工具中,有一种叫做“放大尺”的绘画工具,画家常用它来放大图画。当然,在计算机上,我们不 再需要用放大尺去放大或缩小图像了,把这个工作交给程序来完成就可以了。下面就来讲讲计算机怎么来放大缩小图象;在本文中,我们所说的图像都是指点阵图, 也

状态压缩dp(状压dp)

注:在涉及到位运算时,一定要注意位运算的优先级。该加的括号一定要加 状压dp是一类比较难理解的dp; 在讲状压dp之前,我们应该清楚所有的dp是解决多阶段决策最优化问题的一种思想方法; 请注意多阶段这三个字: 经过前面三种背包的学习,可以发现如何定义状态是解决动态规划最重要的一步; 状态的定义也就决定了相当于阶段的划分; 在背包问题中,我们通过物品的件数i和背包的容量j来定义状态或者说

php 字符串压缩

gzcompress gzencode gzdeflate bzcompress 各压缩方法区别: gzcompress gzdeflate gzencode函数的区别在于它们压缩的数据格式不同:gzcompress使用的是ZLIB格式;gzdeflate使用的是纯粹的DEFLATE格式;bzcompress使用的是bzip2格式; gzcompress 速度最快,压缩比率较高。g