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

这道题输入不像别的题,给一个参数 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. 遍历json字符串 并 写入对应的文本框

    1.js代码: function getFlws(){ var url = urlpath + "bhjk/getJson2.sd?"; $.post(url,function(d ...

  2. 洛谷P5159 WD与矩阵

    题目背景 WD整日沉浸在矩阵中,无法自拔-- 题目描述 WD特别喜欢矩阵,尤其是\(01\)矩阵. 一天,CX给了WD一个巨大的\(n\)行\(m\)列的\(01\)矩阵,WD发现这个矩阵每行.每列的 ...

  3. 总结工作中用到的ES6语法,方便工作中查看,也总结一下经验

    1.模板字符串: 表现形式:${} 举例子: import axios from 'axios'; let base = 'https://www.baidu.com/home/msg/data/pe ...

  4. Linux 查询服务器序列号命令

      1.查看服务器型号:dmidecode | grep 'Product Name' 2.查看主板的序列号:dmidecode |grep 'Serial Number' 3.查看系统序列号:dmi ...

  5. HDU 6447 YJJ’s Salesman (树状数组 + DP + 离散)

    题意: 二维平面上N个点,从(0,0)出发到(1e9,1e9),每次只能往右,上,右上三个方向移动, 该N个点只有从它的左下方格点可达,此时可获得收益.求该过程最大收益. 分析:我们很容易就可以想到用 ...

  6. Windows下搭建QT环境

    必须软件 qt-windows-opensource-5.1.1-msvc2010-x86-offline qt-vs-addin-1.2.2-opensource支持vs2008.2010.2012 ...

  7. python学习四(处理数据)

    head first python中的一个数据处理的例子 有四个U10选手的600米成绩,请取出每个选手跑的最快的3个时间.以下是四位选手的9次成绩 James 2-34,3:21,2.34,2.45 ...

  8. Python3学习实例上手(1)-----模拟登录认证

    要求:输入用户名.密码进行认证,认证成功则欢迎,若输错三次会锁定最后一次输入的用户 知识点归纳:字典操作(items()方法).字符串操作(如strip().split()等).文件读写(for li ...

  9. 微信支付配置参数:支付授权目录、回调支付URL

    一.开通微信支付的首要条件是:认证服务号或政府媒体类认证订阅号(一般认证订阅号无法申请微信支付) 二.微信支付分为老版支付和新版支付,除了较早期申请的用户为老版支付,现均为新版微信支付. 三.公众平台 ...

  10. 输入网址调用第三方接口获取结果_java

    最近公司给了一个第三方服务的网址,要我调用后返回需要用到的信息 具体网址:http://www.xxxx.com/xxx-api/xxxx/getXxxByUserId?userId=" + ...