Codeforces Round 877 div2 C No Prime Differences

news2024/11/23 14:55:27

目录

一、题目

二、题目分析

三、 code


一、题目

传送门

C. No Prime Differences

time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

You are given integers n and m. Fill an n by m grid with the integers 11 through n⋅m, in such a way that for any two adjacent cells in the grid, the absolute difference of the values in those cells is not a prime number. Two cells in the grid are considered adjacent if they share a side.

It can be shown that under the given constraints, there is always a solution.

Input

The first line of the input contains a single integer t (1≤t≤1000) — the number of test cases. The description of the test cases follows.

The first and only line of each test case contains two integers n and m (4≤n,m≤1000) — the dimensions of the grid.

It is guaranteed that the sum of n⋅m over all test cases does not exceed 106106.

Output

For each test case, output n lines of m integers each, representing the final grid. Every number from 1 to n⋅mshould appear exactly once in the grid.

The extra spaces and blank lines in the sample output below are only present to make the output easier to read, and are not required.

If there are multiple solutions, print any of them.

Example

input

3

4 4

5 7

6 4

output

16  7  1  9
12  8  2  3
13  4 10 11
14  5  6 15

29 23 17  9  5  6  2
33 27 21 15 11  7  1
32 31 25 19 20 16 10
26 30 24 18 14  8  4
35 34 28 22 13 12  3

 2  3  7 11
 8  9  1 10
17 13  5  4
18 14  6 12
19 23 15 21
20 24 16 22

Note

The first sample case corresponds to the picture above. The only absolute differences between adjacent elements in this grid are 11, 44, 66, 88, and 99, none of which are prime.


二、题目分析

题目n*m表格要求每一个数的上下左右之差均不为素数,画出两个图之后我们发现,如果按照正常顺序写的话,这个数的左右之差为1符合题意, 上下之差为m,这样的话上下之差可能符合也可能不符合;所以我们按照m是否是素数来讨论:

1.m不为素数,直接按原顺序输出即可

2.m为素数,我们知道素数的倍数一定不是素数,所以我们考虑将原顺序中的行顺序都换一下,这样左右之差还是1,上下之差为素数的倍数。

至于怎么样的换,我们不妨先输出奇数行,再输出偶数行,但是有一个点我们需要注意,当n等于4的时候,这样我们输出顺序就变为了 行顺序:1 3 2 4,这样 3 2之差还是素数,所以我们还是先输出奇数再输出偶数,但是先从大的开始输出,也即行顺序: 3 1 4 2这样即可保证答案正确 


三、code 

#include<bits/stdc++.h>
using namespace std;
bool isprime(int x)
{
    if(x<2)return false;
    for(int i=2;i<=x/i;i++)
    {
        if(x%i==0)return false;
    }
    return true;
}
int main()
{
    int t;cin>>t;
    while(t--)
    {
        int x,y;cin>>x>>y;
        if(isprime(y))
        {
            for(int i=x-1;i>=1;i-=2)
            {
                
               for(int j=1;j<=y;j++)
               {
                   cout<<y*(i-1)+j<<" ";
               }cout<<"\n";
            }
            for(int i=x;i>=1;i-=2)
            {
            
               for(int j=1;j<=y;j++)
               {
                   cout<<y*(i-1)+j<<" ";
               }cout<<"\n";
            }
        }
        else
        {
            for(int i=1;i<=x*y;i++)
            {
                cout<<i<<" ";
                if(i%y==0)cout<<"\n";
            }
        }
        cout<<endl;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/615206.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分布式理论 - CAP

tip: 作为程序员一定学习编程之道&#xff0c;一定要对代码的编写有追求&#xff0c;不能实现就完事了。我们应该让自己写的代码更加优雅&#xff0c;即使这会费时费力。 文章目录 一、简介深入理解三、CAP的应用应用 一、简介 CAP理论是分布式系统中最重要的理论之一&#xf…

windows编译CTK

文章目录 windows编译CTK环境准备使用cmake-gui编译CTK测试VTK windows编译CTK 环境准备 CTK源码 &#xff1a;https://github.com/commontk/CTK CTKData 源码&#xff1a;https://github.com/commontk/CTKData 最新版本的不用下载CTKData 相关的下载会在编译的时候去下载&…

CSS样式——悬停变色

目录 准备图标 实现效果 基础模板 清除默认样式 重合相同图标 实现悬停变色 CSS样式——悬停变色&#xff0c;效果如下所示&#xff1a; 准备图标 在完成上面的效果之前&#xff0c;我们需要准备图标&#xff0c;这里我使用的是阿里巴巴矢量图标库&#xff0c;不会使用阿…

聚力自主安全,领跑先进计算!麒麟信安闪耀2023首届国家新一代自主安全计算系统产业集群融通生态大会

5月25日至26日&#xff0c;2023首届“国家新一代自主安全计算系统产业集群”融通生态大会在长沙隆重举行。大会以“聚力自主安全 领跑先进计算”为主题&#xff0c;由工业和信息化部规划司指导&#xff0c;湖南省工业和信息化厅、长沙市人民政府主办&#xff0c;旨在围绕实现“…

C++入门——缺省参数|函数重载

前言&#xff1a; C入门我们主要是补充C语言的不足&#xff0c;为后续类和对象学习打基础。在前面我们学了命名空间、输入输出&#xff0c;今天我们继续学习。 上期链接&#xff1a; C入门——关键字|命名空间|输入&输出_wangjiushun的博客-CSDN博客 目录&#xff1a; …

CompletableFuture真香,可以替代CountDownLatch!

1、背景 之前我们提到了 Future 和 Promise。Future 相当于一个占位符&#xff0c;代表一个操作将来的结果。一般通过 get 可以直接阻塞得到结果&#xff0c;或者让它异步执行然后通过 callback 回调结果。 但如果回调中嵌入了回调呢&#xff1f;如果层次很深&#xff0c;就是…

Spring Cloud Alibaba 快速上手搭建公司项目(四)Sentinel

Sentinel是一个开源的云原生流量控制和熔断降级的组件&#xff0c;它可以实现对微服务架构中的服务进行实时监控、自动降级、熔断限流等功能。Sentinel的核心原理是通过滑动窗口的方式对请求进行控制&#xff0c;当请求超过阈值时&#xff0c;会自动触发熔断操作&#xff0c;避…

JavaWeb——JSP实现书城首页

实验名称&#xff1a; JSP实现书城首页 实验目的&#xff1a; &#xff08;1&#xff09;了解JSP的特点及其运行原理 &#xff08;2&#xff09;掌握JSP的基本语法 &#xff08;3&#xff09;熟悉JSP指令和隐式对象的使用 &#xff08;4&#xff09;掌握JSP动作元素的使用…

ABP VNext 利用QQ邮箱发送邮件

ABP VNext 利用QQ邮箱发送邮件 1.配置邮箱1.1 设置1.2账户1.3 开启邮箱服务1.4 生成授权码 2 默认的SmtpEmailSender发送邮件2.1 生成数据库2.2 添加一个后台任务执行发送邮件2.3 服务中注入ISmtpEmailSender2.4 在配置文件添加邮箱信息 3 集成MailKit发送邮件3.1 添加包Volo.A…

从Docker和Kubernetes看Containerd

导读&#xff1a; 在学习Containerd之前&#xff0c;我们需要去了解Docker与Kubernetes这两个使用Containerd最多的技术&#xff0c;也需要明白什么是容器&#xff0c;什么是容器运行时&#xff0c;以及里面涉及的组件&#xff0c;这些组件是用来干什么的&#xff0c;及容器领域…

Zabbix Httpd漏洞修复2

一、背景 漏洞库升级的真是快啊&#xff0c;绿盟扫描的zabbix服务器又有新的漏洞了&#xff0c;经一番折腾&#xff0c;搞定&#xff0c;记录如下。 二、漏洞内容 漏洞主要还是集中在php和http漏洞 三、修复过程 思路还是升级httpd版本解决。 1、查看下zabbix版本&#xff…

【JVM】垃圾回收机制

垃圾回收三大步骤&#xff1a;判断是不是垃圾(垃圾判断算法) -> 标记需要回收的垃圾(三色标记) -> 回收垃圾(垃圾回收算法)。 一、如何判断是不是垃圾&#xff08;垃圾判断算法&#xff09;&#xff1f; &#xff08;1&#xff09;引用计数器算法&#xff1a;对象中记录…

基于STM32F103C8T6的超声波测距——串口输出

文章目录 前言一、超声波模块介绍1、产品特点2、超声波模块的时序图 二、STM32CubeMx创建工程1、配置项目2、keil代码设置3、效果 三、总结四、参考资料 前言 环境&#xff1a; 1、硬件&#xff1a;stm32f103c8t6 核心板 2、软件&#xff1a;STM32CubeMX 6.4.0 3、软件&#xf…

进程通信管道制作

利用父子进程 创建管道利用pipe函数 // 1.创建管道int pipefd[2] {0}; //[0] 读端 &#xff0c;[1]写端int n pipe(pipefd);assert(n ! -1); // debug 在release下会裁减(void)n;//防止在release下报错cout << "fd[0]:" << pipefd[0] << endl…

多用户商城开源-多店铺商城系统平台开发

多用户商城开源是指一种基于开放源代码的电子商务平台&#xff0c;允许多个用户共享一个平台&#xff0c;每位用户可以创建自己的电子商城&#xff0c;并在平台上进行交易、管理、营销等操作。多用户商城开源通常包含多种功能&#xff0c;如商品管理、订单管理、支付集成、促销…

vue diff算法与虚拟dom知识整理(14) patchVNode处理子节点新增和删减

上文 vue diff算法与虚拟dom知识整理(13) 手写patch子节点更新换位策略 我们实现了子节点位置的更新策略 但还有一些匹配不到的情况会导致死循环 那么我们继续来优化一下 我们先将src下的 index.js 代码改成这样 import h from "./snabbdom/h"; import patch from …

Scrapy ImagesPipeline下载图片

一、 ImagesPipeline是啥 ImagesPipeline是scrapy自带的类&#xff0c;用来处理图片(爬取时将图片下载到本地)。 二、ImagesPipeline优势&#xff1a; 将下载图片转换成通用的jpg和rgb格式避免重复下载缩略图生成图片大小过滤异步下载 三、ImagesPipeline工作流程 爬取一个…

Echarts构建指定省份的地图

1. 自行准备好Echarts环境 Echarts官网&#xff1a;https://echarts.apache.org/zh/index.html 2. 下载需要的省份或者城市的json地理信息文件 下载我们需要显示地区的Json数据&#xff0c;这个Json数据用于Echart的地图显示 例如我这里是下载的&#xff1a;湖南、湖北、四川…

同步模式之顺序控制线程执行

tip: 作为程序员一定学习编程之道&#xff0c;一定要对代码的编写有追求&#xff0c;不能实现就完事了。我们应该让自己写的代码更加优雅&#xff0c;即使这会费时费力。 文章目录 一、同步模式之顺序控制线程执行二、代码样例三、三个线程分别输出a、b、c&#xff0c;按顺序输…

作为一个项目管理成员,怎样才能有效监控项目执行?

作为一个项目管理成员&#xff0c;有效监控项目执行是确保项目成功的关键。在项目执行期间&#xff0c;您需要密切关注项目进展&#xff0c;并及时采取行动来纠正任何偏差。以下是几个有效的方法&#xff0c;可以帮助您监控项目执行并确保项目按计划顺利进行。 1. 制定详细的项…