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

这道题输入不像别的题,给一个参数 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冲鸭!

最新文章

  1. spring @condition 注解
  2. iReport 中使用 Chart 图
  3. 【WPF】WPF中调用Winform
  4. error while loading shared libraries: lib******: cannot open shared object file: No such file or directory
  5. Spark机器学习 Day1 机器学习概述
  6. ASP.NET-FineUI开发实践-6(二)
  7. .NET Orm 性能测试
  8. 1.3:Render Pipeline and GPU Pipeline
  9. js生成带有logo的二维码并保存成图片下载
  10. 《HTTP协议:菜鸟入门系列》
  11. webpack打包去掉console.log打印与debugger调试
  12. linux关闭的时候出现异常: java.net.ConnectException: 拒绝连接 (Connection refused)
  13. Java后台要看的书
  14. MySQL 之数据库增量数据恢复案例
  15. Rx = Observables(响应) + LINQ(声明式语言) + Schedulers(异步)
  16. (转)真正的中国天气api接口xml,json(求加精) ...
  17. springboot 中使用事务
  18. Joint Extraction of Entities and Relations论文解析
  19. 简单字典实现(KV问题)
  20. 20180711-统计PDB中的蛋白质种类、膜蛋白文件个数及信息等

热门文章

  1. oracle基本命令
  2. asddf
  3. php使用百度地图API
  4. Base64Utils
  5. sql新增字段注意事项
  6. 获取跨域请求的自定义的response headers
  7. Sort HDU - 5884 哈夫曼权值O(n)
  8. JNA-调用win32 Dll文件
  9. 一步一步配置Spring
  10. CQRS之旅——旅程1(我们的领域:Contoso会议管理系统)