题解 P1319 【压缩技术】
这题是红题,我都觉得我的题解过不了
这道题输入不像别的题,给一个参数 n ,然后输入 n 的倍数个数据,它是给一个 n ,
再输入一堆数。看题目,n × n ? 是不是就说明了给出的数和一定,都是 n × n ?
显然是的。
这样就好办了:
#define maxn 40010
int n,a[maxn],f,i,j,s;
int read(){//快读
int r=0,f=1;//r置零,f为标记,正数与负数
char c=getchar();//字符c的读入
while((c<'0'||c>'9')&&c!='-')//读入其他字符
c=getchar();
if(c=='-')//若该数为负数
f=-1,c=getchar();
while(c<='9'&&c>='0')//读入数字
r=r*10+c-'0',c=getchar();
return r*f;//正还是负
}
n=read();
while(s<n*n)
a[++f]=read(),s+=a[f];
看上去很冗长,但知识点只有 #define、上面推出来的输入方式和快读。
快读?
大家肯定会疑惑:快读是什么?
快读,从字面上来理解就是快速读入。
快读的本质就是将读入一个整数转化为输入一个字符再减 ‘0’ 。
为什么呢?因为输入一个字符再减 ‘0’ 比读入一个整数快很多。
但这里数据不大,可用可不用
define 则是定义。如上 #define maxn 40010 则是定义 maxn 为 40010。
接下来往下走。
输出时,必须要记得换行,否则会错。
那么应该怎么实现呢?
s=0;//前面用过,置零
for(i=1;i<=f;i++){//i循环,导出数组
if(i%2)//i的奇偶性
for(j=1;j<=a[i];j++){//j循环,输出0
printf("0");
s++;//计数换行标志
if(s%n==0)
printf("\n");//特判换行
}
else//否则,因为i mod 2不是1就是0
for(j=1;j<=a[i];j++){//j循环,输出1
printf("1");
s++;//计数换行标志
if(s%n==0)
printf("\n");//特判换行
}
}
我觉得这道题也就这些知识点了 应该是我太弱才没有发现其他知识点
下面贴出完整代码:
#include<bits/stdc++.h>
#define maxn 40010
using namespace std;
int n,a[maxn],f,i,j,s;
int read(){
int r=0,f=1;
char c=getchar();
while((c<'0'||c>'9')&&c!='-')
c=getchar();
if(c=='-')
f=-1,c=getchar();
while(c<='9'&&c>='0')
r=r*10+c-'0',c=getchar();
return r*f;
}
int main(){
n=read();
while(s<n*n)
a[++f]=read(),s+=a[f];
s=0;
for(i=1;i<=f;i++){
if(i%2)
for(j=1;j<=a[i];j++){
printf("0");
s++;
if(s%n==0)
printf("\n");
}
else
for(j=1;j<=a[i];j++){
printf("1");
s++;
if(s%n==0)
printf("\n");
}
}
return 0;
}
洛谷加油!OI冲鸭!
题解 P1319 【压缩技术】的更多相关文章
- 洛谷P1319压缩技术 题解
题目传送门 这道题是入门难度的题.特别水...QWQ...... #include<bits/stdc++.h> using namespace std; *],top; int main ...
- P1319 压缩技术
很多小伙伴卡在此题的原因可能是因为不知道怎么让它输入无限个数字吧?除了用string,在这里我是看到“压缩码保证 N * N=交替的各位数之和”这一句话,想到用while循环.只要输入的数的总和t小于 ...
- (Java实现) 洛谷 P1319 压缩技术
题目描述 设某汉字由N X N的0和1的点阵图案组成,如下图.我们依照以下规则生成压缩码.连续一组数值:从汉字点阵图案的第一行第一个符号开始计算,按书写顺序从左到右,由上至下.第一个数表示连续有几个0 ...
- 【洛谷p1319】压缩技术
(许久不见,甚是想念) 压缩技术[传送门] 洛谷上滴算法标签: 然而这是一道入门难度的题.(不管不管,就写它了) 好的先说一下思路吧wait!我忘记了咋做的当时. 首先做题第一道坎儿,如何输入若干个( ...
- P1319 【压缩技术】
题面嘤嘤嘤 刚做完P1320,突然发现这里有一个没有括号的压缩技术,就抱着试一试的心态来做一做... 洛谷真有趣,让我正着做一遍,反着做一遍... 好,进入正题 这题比较便捷的是边读边做 具体细节看代 ...
- Java后端实现图片压缩技术
今天来说说图片压缩技术,为什么要使用图片压缩,图片上传不就完事了吗?对的,这在几年前可以这么说,因为几年前还没有现在这么大的并发,也没有现在这么关注性能. 如今手机很多,很多人都是通过手机访问网络或者 ...
- C语言中的内存压缩技术
C语言中的内存压缩技术 前言 在整个研究生阶段我都在参与一个LTE协议栈实现的项目,在这个项目中,我们利用一个自己编写的有限状态机框架将协议栈中每一层实现为一个内核模块.我们知道,在编写内核代码时需要 ...
- 转:关于数据库压缩技术的Survey
原文来自于:http://outofmemory.cn/mysql/database-compression-tech 昨天给团队内的小伙伴做了一个关于数据库压缩技术的Survey,现将其中可以公开的 ...
- 腾讯技术分享:GIF动图技术详解及手机QQ动态表情压缩技术实践
本文来自腾讯前端开发工程师“ wendygogogo”的技术分享,作者自评:“在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦.” 1.GIF格式的历史 GIF ( Gr ...
- 【RMAN】使用RMAN的 Compressed Backupsets备份压缩技术 (转载)
1.Oracle参考文档中关于RMAN备份压缩的描述1)关于如何通过调整RMAN参数启用取消备份压缩功能http://download.oracle.com/docs/cd/B19306_01/bac ...
随机推荐
- rlwrap: command not found和解决linux下sqlplus 提供浏览历史命令行的功能
rlwrap工具可以解决linux下sqlplus 提供浏览历史命令行的功能,和删除先前输入错误的字母等问题 1.安装 需要readline包 这个安装光盘就有 [root@asm RedHat]# ...
- NYOJ247 虚拟城市之旅 (spfa)
题目链接:点击打开链接 虚拟的城市之旅 时间限制: ms | 内存限制: KB 难度: 描述 展馆是未来城市的缩影,个人体验和互动是不变的主题.在A国展馆通过多维模式和高科技手段,引领参观者在展示 ...
- k8s yaml文件详解
1.yaml格式的Pod配置文件内容及注解 深入Pod之前,首先我们来了解下Pod的yaml整体文件内容及功能注解. 如下: # yaml格式的pod定义文件完整内容: apiVersion: v1 ...
- nginx大量TIME_WAIT的解决办法
1.netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 查看time_wait 很大 2.解决此问题需要对sysc ...
- OpenLayers v4.2.0 -----地图延迟加载;
官方:http://openlayers.org/en/latest/examples/lazy-source.html <!DOCTYPE html> <html> < ...
- Django与Ajax,文件上传,ajax发送json数据,基于Ajax的文件上传,SweetAlert插件
一.Django与Ajax AJAX准备知识:JSON 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻 ...
- 在CMD下运用管理员权限
方法一:鼠标右键 这个方法比较比较普通,点开开始找到cmd,右击鼠标“以管理员身份运行(A)”这样调用就是管理员的权限: 方法二:快捷模式 在点开win+R后,选择“以管理员身份运行”,然后确定:可以 ...
- 备份当前的ubuntu系统生成iso
使用respin,步骤如下: sudo add-apt-repository ppa:sergiomejia666/respin sudo apt-get update sudo apt-get in ...
- linux读取yaml文件的某个属性值
trigger=$(cat test.yaml | grep "trigger" | awk '{print $2}') 该条命令的意思是:读取test.yaml文件中的trigg ...
- python复数
复数的概念在很久以前,数学家们被下面的等式困扰.x2=-1这是因为任何实数(无论正负)乘以自己总会得到一个非负数.一个数怎么可以乘以自己得到一负数?没有这样的实数存在.就这样18世纪,数学家们发了一个 ...