正题

题目链接:https://atcoder.jp/contests/agc027/tasks/agc027_d


题目大意

n∗nn*nn∗n的网格,每个格子填一个数要求

  • 所有数各不相同
  • 对于相邻的两个数ax,aya_x,a_yax​,ay​,max{ax,ay}%min{ax,ay}max\{a_x,a_y\}\%min\{a_x,a_y\}max{ax​,ay​}%min{ax​,ay​}相同
  • 数的大小不超过101510^{15}1015

解题思路

我们对与每一个斜角线都定义一个不相同的质数,然后在两个斜对角的位置就是两个质数的乘积。

对与剩下的格子填四周数的lcm+1lcm+1lcm+1即可。


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
ll n,pri[110000],cnt,a[510][510];
bool v[110000];
ll lcm(ll x,ll y){if(!x||!y)return x+y;return x/__gcd(x,y)*y;
}
int main()
{scanf("%lld",&n);if(n==2)return printf("4 7\n23 10")&0;for(ll i=2;i<=10000;i++){if(!v[i])pri[++cnt]=i;for(ll j=1;j<=cnt&&i*pri[j]<=10000;j++){v[i*pri[j]]=1;if(i%pri[j]==0)break;}}for(ll i=1;i<=n;i++)for(ll j=1;j<=n;j++)if(!((i+j)&1))a[i][j]=pri[(i+j)/2]*pri[n+(n+1)/2+(i-j)/2];for(ll i=1;i<=n;i++)for(ll j=1;j<=n;j++)if((i+j)&1)a[i][j]=lcm(lcm(a[i-1][j],a[i+1][j]),lcm(a[i][j+1],a[i][j-1]))+1ll;for(ll i=1;i<=n;i++,putchar('\n'))for(ll j=1;j<=n;j++)printf("%lld ",a[i][j]);
}

AT4378-[AGC027D]ModuloMatrix【构造】相关推荐

  1. LeetCode简单题之构造矩形

    题目 作为一位web开发者, 懂得怎样去规划一个页面的尺寸是很重要的. 所以,现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面.要求: 你设计的矩形 ...

  2. 兑换量子计算机,阅读 | 【量子计算机】构造置换量子门

    原标题:阅读 | [量子计算机]构造置换量子门 量子计算机的一个基本组成单位叫量子门(quantum gate),下面简单介绍些基本概念. 量子比特和量子态 量子计算机的信息存储单元是一种叫做量子比特 ...

  3. [ActionScript 3.0] AS向php发送二进制数据方法之——在URLRequest中构造HTTP协议发送数据...

    主类 HTTPSendPHP.as 1 package 2 { 3 import com.JPEGEncoder.JPGEncoder; 4 import com.fylib.httpRequest. ...

  4. js把base64串解析成中文_回文问题终极篇:最小代价构造回文串

    学算法认准 labuladong 东哥带你手把手撕力扣? 点击下方卡片即可搜索? 读完本文,你可以去力扣完成第 1312 题「让字符串成为回文串的最少插入次数」,难度 Hard. 回文串就是正着读反着 ...

  5. php构造和析构方法,php5构造函数与析构函数实例

    自php5起,有了构造函数与析构函数. 这使得php更富有面向对象的魅力了. 在php4时,构造函数用的是与类同名的函数来进行构造这个动作. 例如: 复制代码 代码示例: /* * myclass.p ...

  6. 消除左递归实验代码_「leetcode」108. 构造二叉搜索树【递归】【迭代】详解!

    构造二叉搜索树,一不小心就平衡了 ❞ 108.将有序数组转换为二叉搜索树 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树 ...

  7. 对象特性--构造函数调用规则

    默认情况下,C++编译器至少给一个类添加3个函数: 1.默认构造函数(无参,函数体为空) 2.默认析构函数(无参,函数体为空) 3.默认拷贝构造函数,对属性进行值拷贝 1.创建一个类,C++编译器会给 ...

  8. C++派生类与基类构造函数调用次序

    本文用来测试C++基类和派生类构造函数,析构函数,和拷贝构造函数的调用次序. 运行环境:SUSE Linux Enterprise Server 11 SP2  (x86_64) #include & ...

  9. jquery 1.7.2源码解析(二)构造jquery对象

    构造jquery对象 jQuery对象是一个类数组对象. 一)构造函数jQuery() 构造函数的7种用法: 1.jQuery(selector [, context ]) 传入字符串参数:检查该字符 ...

最新文章

  1. 10使用CSS美化页面
  2. [导入]使用tomcat5.0自带的连接池
  3. android 之json对象解析并展示(含json解析源码)
  4. angular artDialog未及时更新
  5. 虚拟主机和托盘服务器,虚拟主机和托盘服务器
  6. 通俗易懂讲解RBF网络
  7. linux系统创建windows启动盘
  8. h5调微信支付 unkonw url_聚合支付系统设计(一)
  9. anacondapythonyolo3配置_Windows anaconda 运行yolov3
  10. leetcode 494. 目标和
  11. Python 构建前端 页面继承及共享 - 转
  12. IOS libxml/tree.h file not found 解决方案
  13. floatmap 二维数组_Golang学习笔记(四):array、slice、map
  14. k折交叉验证matlab 流程_第51集 python机器学习:分层K折交叉验证及其他方式
  15. Nginx二级域名及多Server反向代理配置
  16. 转:为 setuptools 开路搭桥
  17. sprintf_s用法c语言,sprintf_s函数的使用
  18. Android drawable.setBounds()+设置RadioButton的图片大小和位置
  19. 阿里云轻量云服务器部署java项目
  20. 21天混入数据科学家队伍

热门文章

  1. java第二版课后题答案_Java语言程序设计第2版第16章 课后习题答案
  2. python双除_python2和python3 中的除法的区别
  3. 川大计算机文化基础在线作业,川大1309《计算机文化基础0008》在线作业2答案.docx...
  4. 中南民族大学c语言报告,中南民族大学信C语言实验报告.doc
  5. hive 导入mysql数据库_求助 Hive 导入MYsql 数据库 报错啊
  6. java jdbc分页_使用JDBC进行分页查询
  7. 算法——常用的数据结构/模板/基础知识
  8. 122. 买卖股票的最佳时机 II008(贪心算法+思路)
  9. C++string容器-字符串查找和替换
  10. Decorator(装饰)--对象结构型模式