题解 P1319 【压缩技术】
2024-09-08 07:39:06
这题是红题,我都觉得我的题解过不了
这道题输入不像别的题,给一个参数 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冲鸭!
最新文章
- spring @condition 注解
- iReport 中使用 Chart 图
- 【WPF】WPF中调用Winform
- error while loading shared libraries: lib******: cannot open shared object file: No such file or directory
- Spark机器学习 Day1 机器学习概述
- ASP.NET-FineUI开发实践-6(二)
- .NET Orm 性能测试
- 1.3:Render Pipeline and GPU Pipeline
- js生成带有logo的二维码并保存成图片下载
- 《HTTP协议:菜鸟入门系列》
- webpack打包去掉console.log打印与debugger调试
- linux关闭的时候出现异常: java.net.ConnectException: 拒绝连接 (Connection refused)
- Java后台要看的书
- MySQL 之数据库增量数据恢复案例
- Rx = Observables(响应) + LINQ(声明式语言) + Schedulers(异步)
- (转)真正的中国天气api接口xml,json(求加精) ...
- springboot 中使用事务
- Joint Extraction of Entities and Relations论文解析
- 简单字典实现(KV问题)
- 20180711-统计PDB中的蛋白质种类、膜蛋白文件个数及信息等