当前位置:网站首页>Solution: Compression Technology (original version and sequel version)
Solution: Compression Technology (original version and sequel version)
2022-07-02 13:29:00 【Pandaoxi】
List of articles
compression technique
Title Description
Let a Chinese character be composed of N × N Of 0 and 1 The dot matrix pattern of .
We generate compression codes according to the following rules . A continuous set of values : Start from the first symbol in the first line of the Chinese character dot matrix pattern , In writing order from left to right , From top to bottom . The first number represents several consecutive 0, The second number means that there are several consecutive 1, The third number is followed by several consecutive 0, The fourth number is followed by several consecutive 1, And so on ……
for example : The following Chinese character dot matrix pattern :
0001000
0001000
0001111
0001000
0001000
0001000
1111111
The corresponding compression code is : 7 3 1 6 1 6 4 3 1 6 1 6 1 3 7 ( The first number is N , The rest of you say alternately 0 and 1 The number of , The compression code guarantees N × N= The sum of alternating numbers )
Input format
a line , Compression code .
Output format
Chinese character dot matrix ( There is no space between dot matrix symbols ).(3<=N<=200)
Examples #1
The sample input #1
7 3 1 6 1 6 4 3 1 6 1 6 1 3 7
Sample output #1
0001000
0001000
0001111
0001000
0001000
0001000
1111111
Answer key
At that time, I saw this problem , Think : Ah, it's simple , Direct output is not the end .
Do it , People are stupid . So never think of a simple problem !
sometimes , It's really “ Aware that , Lost thousands of miles ”. I haven't been right three times before , Just change one sentence of the program AC.
// Author:PanDaoxi
#include <iostream>
using namespace std;
// You don't need a two-dimensional array , Array directly once
int a[40201];
int main(){
int n,m,k=0,text,tmp=1,t;
// m*m Of the lattice
cin>>m;
while(cin>>n){
// Characters used
text=k%2;
// Next , Connect n individual text
t=tmp,tmp+=n;
for(int i=t;i<tmp;i++){
// Write array
a[i]=text;
}
// The next number
k++;
}
// Output
for(int i=1;i<=m*m;i++){
cout<<a[i];
// If the current number of characters meets the requirement of m to be divisible by , It's time for a new line
if(i%m==0) cout<<endl;
}
return 0;
}
You can use Boolean arrays , Further optimization :
// Author:PanDaoxi
#include <iostream>
using namespace std;
bool a[40201],text=true;
int main(){
int n,m,tmp=1,t;
cin>>m;
while(cin>>n){
text=!text,t=tmp,tmp+=n;
for(int i=t;i<tmp;i++){
a[i]=text;
}
}
for(int i=1;i<=m*m;i++){
cout<<a[i];
if(i%m==0) cout<<endl;
}
return 0;
}

compression technique ( Sequel Edition )
Title Description
Let a Chinese character be composed of N × N Of 0 and 1 The dot matrix pattern of .
We generate compression codes according to the following rules . A continuous set of values : Start from the first symbol in the first line of the Chinese character dot matrix pattern , In writing order from left to right , From top to bottom . The first number represents several consecutive 0, The second number means that there are several consecutive 1, The third number is followed by several consecutive 0, The fourth number is followed by several consecutive 1, And so on ……
for example : The following Chinese character dot matrix pattern :
0001000
0001000
0001111
0001000
0001000
0001000
1111111
The corresponding compression code is : 7 3 1 6 1 6 4 3 1 6 1 6 1 3 7 ( The first number is N , The rest of you say alternately 0 and 1 The number of , The compression code guarantees N×N = The sum of alternating numbers )
Input format
Chinese character dot matrix ( There is no space between dot matrix symbols ).(3<=N<=200)
Output format
a line , Compression code .
Examples #1
The sample input #1
0001000
0001000
0001111
0001000
0001000
0001000
1111111
Sample output #1
7 3 1 6 1 6 4 3 1 6 1 6 1 3 7
Answer key
It took a lot of effort , Finally got it ( I can't )
Think of a lot of ways , Thought of a strange way
// Author:PanDaoxi
#include <iostream>
#include <cmath>
using namespace std;
int a[40200],n=0,point=0; // point Save subscript
int main(){
char x,y='0';
while(cin>>x){
// The input character
// Number of characters +1
n++;
// Judge : If the present one is the same as the previous one
if(x==y) a[point]++;
// If it's not the same , Update character
else a[point++]++,y=x;
}
// because n*n Matrix , that n= n The arithmetic square root of
cout<<sqrt(n)<<" ";
// Special value processing
a[0]--,a[point]++;
// The output is over
for(int i=0;i<=point;i++){
cout<<a[i]<<" ";
}
return 0;
}

边栏推荐
- Bridge of undirected graph
- MySQL: Invalid GIS data provided to function st_ geometryfromtext
- 上海交大教授:何援军——包围盒(包容体/包围盒子)
- 2022零代码/低代码开发白皮书【伙伴云出品】附下载
- [youcans' image processing learning course] general contents
- Mysql常用命令详细大全
- Record idea shortcut keys
- 屠榜多目标跟踪!BoT-SORT:稳健的关联多行人跟踪
- [error record] cannot open "XXX" because Apple cannot check whether it contains malware
- 【蓝桥杯选拔赛真题43】Scratch航天飞行 少儿编程scratch蓝桥杯选拔赛真题讲解
猜你喜欢

2、 Frame mode MPLS operation

Unity SKFramework框架(二十一)、Texture Filter 贴图资源筛选工具

完全自主可控三维云CAD:CrownCAD便捷的命令搜索,快速定位所需命令具体位置。
![[opencv learning] [contour detection]](/img/96/aaec61f137e4526c2c329e6fcfa1a2.jpg)
[opencv learning] [contour detection]

Operation tutorial: how does easydss convert MP4 on demand files into RTSP video streams?

OpenApi-Generator:简化RESTful API开发流程

Gee learning notes 2
![2022 zero code / low code development white paper [produced by partner cloud] with download](/img/46/92c51090e0c476df3bcffd2d11fb6d.png)
2022 zero code / low code development white paper [produced by partner cloud] with download

运维必备——ELK日志分析系统

Unity SKFramework框架(十二)、Score 计分模块
随机推荐
记忆函数的性能优化
Unity SKFramework框架(十五)、Singleton 单例
[opencv] [image gradient]
JS逆向之行行查data解密
Web Foundation
完全自主可控三维云CAD:CrownCAD便捷的命令搜索,快速定位所需命令具体位置。
研究表明“气味相投”更易成为朋友
能自动更新的万能周报模板,有手就会用!
Ali on three sides, it's really difficult to successfully get the offer rated P7
Research shows that "congenial" is more likely to become friends
Countermeasures for the failure of MMPV billing period caused by negative inventory of materials in SAP mm
Performance optimization of memory function
为什么switch 的default后面要跟break?
Unity SKFramework框架(十七)、FreeCameraController 上帝视角/自由视角相机控制脚本
Explanation of 34 common terms on the Internet
屠榜多目标跟踪!BoT-SORT:稳健的关联多行人跟踪
(6) Web security | penetration test | network security encryption and decryption ciphertext related features, with super encryption and decryption software
[OpenGL] notes 29. Advanced lighting (specular highlights)
上海交大教授:何援军——包围盒(包容体/包围盒子)
Unity skframework framework (XV), singleton singleton