这题是红题,我都觉得我的题解过不了

这道题输入不像别的题,给一个参数 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 【压缩技术】的更多相关文章

  1. 洛谷P1319压缩技术 题解

    题目传送门 这道题是入门难度的题.特别水...QWQ...... #include<bits/stdc++.h> using namespace std; *],top; int main ...

  2. P1319 压缩技术

    很多小伙伴卡在此题的原因可能是因为不知道怎么让它输入无限个数字吧?除了用string,在这里我是看到“压缩码保证 N * N=交替的各位数之和”这一句话,想到用while循环.只要输入的数的总和t小于 ...

  3. (Java实现) 洛谷 P1319 压缩技术

    题目描述 设某汉字由N X N的0和1的点阵图案组成,如下图.我们依照以下规则生成压缩码.连续一组数值:从汉字点阵图案的第一行第一个符号开始计算,按书写顺序从左到右,由上至下.第一个数表示连续有几个0 ...

  4. 【洛谷p1319】压缩技术

    (许久不见,甚是想念) 压缩技术[传送门] 洛谷上滴算法标签: 然而这是一道入门难度的题.(不管不管,就写它了) 好的先说一下思路吧wait!我忘记了咋做的当时. 首先做题第一道坎儿,如何输入若干个( ...

  5. P1319 【压缩技术】

    题面嘤嘤嘤 刚做完P1320,突然发现这里有一个没有括号的压缩技术,就抱着试一试的心态来做一做... 洛谷真有趣,让我正着做一遍,反着做一遍... 好,进入正题 这题比较便捷的是边读边做 具体细节看代 ...

  6. Java后端实现图片压缩技术

    今天来说说图片压缩技术,为什么要使用图片压缩,图片上传不就完事了吗?对的,这在几年前可以这么说,因为几年前还没有现在这么大的并发,也没有现在这么关注性能. 如今手机很多,很多人都是通过手机访问网络或者 ...

  7. C语言中的内存压缩技术

    C语言中的内存压缩技术 前言 在整个研究生阶段我都在参与一个LTE协议栈实现的项目,在这个项目中,我们利用一个自己编写的有限状态机框架将协议栈中每一层实现为一个内核模块.我们知道,在编写内核代码时需要 ...

  8. 转:关于数据库压缩技术的Survey

    原文来自于:http://outofmemory.cn/mysql/database-compression-tech 昨天给团队内的小伙伴做了一个关于数据库压缩技术的Survey,现将其中可以公开的 ...

  9. 腾讯技术分享:GIF动图技术详解及手机QQ动态表情压缩技术实践

    本文来自腾讯前端开发工程师“ wendygogogo”的技术分享,作者自评:“在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦.” 1.GIF格式的历史 GIF ( Gr ...

  10. 【RMAN】使用RMAN的 Compressed Backupsets备份压缩技术 (转载)

    1.Oracle参考文档中关于RMAN备份压缩的描述1)关于如何通过调整RMAN参数启用取消备份压缩功能http://download.oracle.com/docs/cd/B19306_01/bac ...

随机推荐

  1. 测试之美 Part 1

    1. 本人曾经在一次电话面试中被问到,为什么你作为一个测试人员,还要别人来告诉你要在哪些平台上去测试,你完全可以自己去定夺.下面的这段话是来自<测试之美>,我觉得很有逻辑的反驳了那位面试官 ...

  2. day10函数作业详解

    1.day10题目 2,写函数,接收n个数字,求这些参数数字的和.(动态传参) 3,读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么? a=10 b=20 def test5(a,b): ...

  3. xcode定期清理记录一下

    此文章仅适用于适用于使用Xcode的开发者. 长期不清理Xcode中的一些文件你会发现自己的mac硬盘越来越小,而且是这个其他占了绝大部分的硬盘,在网上搜索了很多办法都没找到如何清理这些其他 后来来来 ...

  4. df 参数说明

    df -h 由 df 命令显示出的各列信息的含义分别是: Filesystem:表示该文件系统位于哪个分区,因此该列显示的是设备名称: 1K-blocks:此列表示文件系统的总大小,默认以 KB 为单 ...

  5. Java 中常用的数据源

    数据源:存储了所有建立数据库连接的信息.就象通过指定文件名你可以在文件系统中找到文件一样,通过提供正确的数据源名称,你可以找到相应的数据库连接. 1.JNDI方式创建DataSource 1.1 配置 ...

  6. Python+Selenium----使用HTMLTestRunner.py生成自动化测试报告1(使用IDLE)

    1.说明 自动化测试报告是一个很重要的测试数据,网上看了一下,使用HTMLTestRunner.py生成自动化测试报告使用的比较多,但是呢,小白刚刚入手,不太懂,看了很多博客,终于生成了一个测试报告, ...

  7. jquery——制作置顶菜单

    置顶菜单: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  8. C#读取Oracle Spatial的sdo_geometry

    oracle的sdo_geometry中内置get_wkt和get_wkb两个方法. 以数据库表geoms为例,此表中有id和geometry两列 try { OracleConnection con ...

  9. leetcode--Learn one iterative inorder traversal, apply it to multiple tree questions (Java Solution)

    will show you all how to tackle various tree questions using iterative inorder traversal. First one ...

  10. C# 用正则表达式判断字符串是否为纯数字

    Regex regex = new System.Text.RegularExpressions.Regex("^(-?[0-9]*[.]*[0-9]{0,3})$"); stri ...