Codeforces Round 877 div2 C No Prime Differences

目录

一、题目

二、题目分析

三、 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.mfbz.cn/a/27089.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

连杆滑块伸缩模组的制作

1. 运动功能说明 连杆滑块伸缩模组的主要运动方式为舵机带动滑块沿着光轴平行方向做伸缩运动。 2. 结构说明 本模组主要是由舵机、滑块、光轴、连杆等组成。 3. 电子硬件 在这个示例中&#xff0c;我们采用了以下硬件&#xff0c;请大家参考&#xff1a; 主控板 Basra主控板&…

java ssm贸易平台-物流管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java ssm贸易平台-物流管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主…

工业深度学习软件 从标注 训练 到测试 再到现场部署

工业深度学习软件 从标注 训练 到测试 再到现场部署 M7000技术规格表 Producer Specification 影像系统 Imaging Sys 适配相机 supported cameras 支持海康&#xff0c;迈德威视&#xff0c;度申2D相机&#xff08;可根据需求增加适配其他厂家相机&#xff09; Support for Hi…

为什么有了IP地址,还需要MAC地址呢?

不知道大家有没有困惑&#xff1a;为什么有了IP地址&#xff0c;还需要MAC地址呢&#xff1f;他们之间到底有什么联系&#xff1f;又有什么区别&#xff1f;是不是有一个是多余的&#xff1f; 流言传到了“IP地址”和“MAC地址”的耳朵里&#xff0c;他俩也非常苦恼&#xff0c…

php通过cURL爬取数据(2):CURLINFO_HTTP_CODE返回0

CURLINFO_HTTP_CODE返回0 一、项目说明二、curl_getinfo返回异常1.小鹅通SDK2.CURLINFO_HTTP_CODE为0的原因有哪些&#xff1f;3.返回CURLINFO_HTTP_CODE0的解决方案4.请求超时和服务器配置&#xff0c;CPU的使用率有关系吗5.结论 三、阿里云短信发送延迟后而集中发送1.发送集中…

【回眸】Python入门(五)基础语法列表和词典:Python如何消灭重复性劳动

前言 本篇博客为填坑篇&#xff0c;这个系列的上一篇竟然是2021年的9月30更新的&#xff0c;离谱&#xff0c;差点就到断更两周年纪念日了&#xff0c;后续逐渐走向填坑的每一天&#xff0c;继续创作&#xff0c;希望这个系列的专栏文章能帮助到更多有需要的人。 列表 什么是列…

操作系统的发展史(DOS/Windows篇)

█ DOS操作系统 20世纪70年代&#xff0c;伴随着计算机技术的成熟&#xff0c;操作系统也进入了一个快速发展阶段。现代操作系统的概念&#xff0c;也在那一时期逐渐形成。 1975年初&#xff0c;MITS电脑公司推出了基于Intel 8080芯片的Altair 8800微型计算机。这是人类历史上…

电子招标采购系统源码之从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。

统一供应商门户 便捷动态、呈现丰富 供应商门户具备内外协同的能力&#xff0c;为外部供应商集中推送展示与其相关的所有采购业务信息&#xff08;历史合作、考察整改&#xff0c;绩效评价等&#xff09;&#xff0c;支持供应商信息的自助维护&#xff0c;实时风险自动提示。…

CSAPP - AttackLab实验(阶段1-5)

AttackLab实验 实验内容 官网&#xff1a;http://csapp.cs.cmu.edu/3e/labs.html “AttackLab”是一个Linux下的可执行C程序&#xff0c;包含了5个阶段&#xff08;phase1~phase5&#xff09;的不同内容。程序运行过程中&#xff0c;要求学生能够根据缓冲区的工作方式和程序…

Sui Builder House日本京都站开启报名

下一站Sui Builder House将于6月29-30日在日本京都举行&#xff0c;为世界各地的开发者提供身临其境地学习和交流的机会。 春日的樱花已经绽放&#xff0c;黄金周也已经过去&#xff0c;现在是时候来京都参加Sui Builder House一起庆祝夏天的来临了。来自日本和周边地区的开发…

我用ChatGPT写2023高考语文作文(一):全国甲卷

2023年 全国甲卷 适用地区&#xff1a;广西、贵州、四川、西藏 人们因技术发展得以更好地掌控时间&#xff0c;但也有人因此成了时间的仆人。 这句话引发了你怎样的联想与思考&#xff1f;请写一篇文章。 要求&#xff1a;选准角度&#xff0c;确定立意&#xff0c;明确文体&am…

【TaskMatrix.AI - Visual ChatGPT】连接超大模型和超多API来完成任务

Github项目地址&#xff1a;https://github.com/microsoft/TaskMatrix 目前大规模预训练模型&#xff08;比如ChatGPT&#xff09;已经能够完成多个任务&#xff0c;例如 提供强大的对话功能&#xff0c;in-context learning能力和代码生成能力生成高层次的解决问题框架 然而…

什么是 tokens,ChatGPT里面的Tokens如何计数?

什么是 tokens&#xff0c;ChatGPT里面的Tokens如何计数&#xff1f; 什么是 tokens&#xff1f; Tokens 可以被认为是词语的片段。在 API 处理提示之前&#xff0c;输入会被分解成 tokens。这些 tokens 并不会精确地在单词的开始或结束处切分 - tokens 可以包含尾随的空格甚…

TI DSP芯片C2000系列读取FLASH数据

本文记录如何读取TI芯片的flash数据 进入TI官网下载UNIFLASH工具 点击查看详情 点击下载选项&#xff0c;根据系统下载对应版本 下载完成之后&#xff0c;点击安装。安装完成之后双击图标点开。如果你的板子已经供电&#xff0c;且编程器已经连接好&#xff0c;UNIFLASH会自动…

chatgpt赋能python:用Python实现ping命令:掌握网络连接的艺术

用Python实现ping命令&#xff1a;掌握网络连接的艺术 当我们需要测试网络连接的时候&#xff0c;ping命令是最经典的选择之一。然而&#xff0c;在一些情况下&#xff0c;使用命令行并不是很方便。那么&#xff0c;有没有可能用Python编写一个类似ping的功能呢&#xff1f; …

Linux中/dev/null和/dev/zero的作用

1./dev/null和/dev/zero介绍 在Linux环境中&#xff0c;我们会经常用到/dev/null和/dev/zero&#xff0c;今天为大家讲讲/dev/null和/dev/zero的作用以及使用场景。 1.1./dev/null介绍 linux中/dev/null&#xff0c;它是一种特殊的虚拟设备&#xff0c;用于写入而不是读取&a…

探秘美颜SDK的动态贴纸的技术原理

美颜SDK作为美颜相机的重要组成部分&#xff0c;其动态贴纸技术也是很多用户喜爱的功能之一。本文将探秘美颜SDK的动态贴纸技术&#xff0c;从技术原理、应用场景和未来发展等方面进行分析。 一、技术原理 **1. 人脸识别技术。**在添加动态贴纸时&#xff0c;第一步要做的肯定…

navicat 怎么导入运行bak文件,详细教程

文章目录 一、新建数据库&#xff0c;点击高级设置访问权限二、点击SQL Server备份三、右击空白&#xff0c;点击从文件还原四、找到备份的bak文件五、 点击“高级”选项六、然后点击 生产SQL&#xff0c;最后点 还原 一、新建数据库&#xff0c;点击高级设置访问权限 二、点击…

coco-annotator的安装与使用

文章目录 coco-annotator的安装与使用1. coco-annotator是什么2. coco-annotator可以做什么3. coco-annotator的安装3.1 先决条件3.2 coco-annotator的下载与安装 4. coco-annotator的使用4.1 创建用户4.2 创建数据集4.3 标注图像4.4 下载标注信息 5. coco-annotator远程访问5.…

[NOI2009] 描边

题目描述 小 Z 是一位杰出的数学家。聪明的他特别喜欢研究一些数学小问题。 有一天&#xff0c;他在一张纸上选择了 n 个点&#xff0c;并用铅笔将它们两两连接起来&#xff0c;构成 (&#xfffd;−1)22n(n−1)​ 条线段。由于铅笔很细&#xff0c;可以认为这些线段的宽度为…
最新文章