AT4378-[AGC027D]ModuloMatrix【构造】
正题
题目链接: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【构造】相关推荐
- LeetCode简单题之构造矩形
题目 作为一位web开发者, 懂得怎样去规划一个页面的尺寸是很重要的. 所以,现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面.要求: 你设计的矩形 ...
- 兑换量子计算机,阅读 | 【量子计算机】构造置换量子门
原标题:阅读 | [量子计算机]构造置换量子门 量子计算机的一个基本组成单位叫量子门(quantum gate),下面简单介绍些基本概念. 量子比特和量子态 量子计算机的信息存储单元是一种叫做量子比特 ...
- [ActionScript 3.0] AS向php发送二进制数据方法之——在URLRequest中构造HTTP协议发送数据...
主类 HTTPSendPHP.as 1 package 2 { 3 import com.JPEGEncoder.JPGEncoder; 4 import com.fylib.httpRequest. ...
- js把base64串解析成中文_回文问题终极篇:最小代价构造回文串
学算法认准 labuladong 东哥带你手把手撕力扣? 点击下方卡片即可搜索? 读完本文,你可以去力扣完成第 1312 题「让字符串成为回文串的最少插入次数」,难度 Hard. 回文串就是正着读反着 ...
- php构造和析构方法,php5构造函数与析构函数实例
自php5起,有了构造函数与析构函数. 这使得php更富有面向对象的魅力了. 在php4时,构造函数用的是与类同名的函数来进行构造这个动作. 例如: 复制代码 代码示例: /* * myclass.p ...
- 消除左递归实验代码_「leetcode」108. 构造二叉搜索树【递归】【迭代】详解!
构造二叉搜索树,一不小心就平衡了 ❞ 108.将有序数组转换为二叉搜索树 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树 ...
- 对象特性--构造函数调用规则
默认情况下,C++编译器至少给一个类添加3个函数: 1.默认构造函数(无参,函数体为空) 2.默认析构函数(无参,函数体为空) 3.默认拷贝构造函数,对属性进行值拷贝 1.创建一个类,C++编译器会给 ...
- C++派生类与基类构造函数调用次序
本文用来测试C++基类和派生类构造函数,析构函数,和拷贝构造函数的调用次序. 运行环境:SUSE Linux Enterprise Server 11 SP2 (x86_64) #include & ...
- jquery 1.7.2源码解析(二)构造jquery对象
构造jquery对象 jQuery对象是一个类数组对象. 一)构造函数jQuery() 构造函数的7种用法: 1.jQuery(selector [, context ]) 传入字符串参数:检查该字符 ...
最新文章
- 10使用CSS美化页面
- [导入]使用tomcat5.0自带的连接池
- android 之json对象解析并展示(含json解析源码)
- angular artDialog未及时更新
- 虚拟主机和托盘服务器,虚拟主机和托盘服务器
- 通俗易懂讲解RBF网络
- linux系统创建windows启动盘
- h5调微信支付 unkonw url_聚合支付系统设计(一)
- anacondapythonyolo3配置_Windows anaconda 运行yolov3
- leetcode 494. 目标和
- Python 构建前端 页面继承及共享 - 转
- IOS libxml/tree.h file not found 解决方案
- floatmap 二维数组_Golang学习笔记(四):array、slice、map
- k折交叉验证matlab 流程_第51集 python机器学习:分层K折交叉验证及其他方式
- Nginx二级域名及多Server反向代理配置
- 转:为 setuptools 开路搭桥
- sprintf_s用法c语言,sprintf_s函数的使用
- Android drawable.setBounds()+设置RadioButton的图片大小和位置
- 阿里云轻量云服务器部署java项目
- 21天混入数据科学家队伍
热门文章
- java第二版课后题答案_Java语言程序设计第2版第16章 课后习题答案
- python双除_python2和python3 中的除法的区别
- 川大计算机文化基础在线作业,川大1309《计算机文化基础0008》在线作业2答案.docx...
- 中南民族大学c语言报告,中南民族大学信C语言实验报告.doc
- hive 导入mysql数据库_求助 Hive 导入MYsql 数据库 报错啊
- java jdbc分页_使用JDBC进行分页查询
- 算法——常用的数据结构/模板/基础知识
- 122. 买卖股票的最佳时机 II008(贪心算法+思路)
- C++string容器-字符串查找和替换
- Decorator(装饰)--对象结构型模式