CF476D Dreamoon and Sets 题解 贪心

Dreamoon and Sets

传送门

Dreamoon likes to play with sets, integers and gcd ⁡ \gcd gcd . gcd ⁡ ( a , b ) \gcd(a,b) gcd(a,b) is defined as the largest positive integer that divides both a a a and b b b .

Let S S S be a set of exactly four distinct integers greater than 0 0 0 . Define S S S to be of rank k k k if and only if for all pairs of distinct elements s i s_{i} si , s j s_{j} sj from S S S , gcd ⁡ ( s i , s j ) = k \gcd(s_{i},s_{j})=k gcd(si,sj)=k .

Given k k k and n n n , Dreamoon wants to make up n n n sets of rank k k k using integers from 1 1 1 to m m m such that no integer is used in two different sets (of course you can leave some integers without use). Calculate the minimum m m m that makes it possible and print one possible solution.

Input

The single line of the input contains two space separated integers n n n , k k k ( 1 ≤ n ≤ 10000 , 1 ≤ k ≤ 100 1 \le n \le 10000,1 \le k \le 100 1n10000,1k100 ).

Output

On the first line print a single integer — the minimal possible m m m .

On each of the next n n n lines print four space separated integers representing the i i i -th set.

Neither the order of the sets nor the order of integers within a set is important. If there are multiple possible solutions with minimal m m m , print any one of them.

Examples

input #1

1 1

output #1

5
1 2 3 5

input #2

2 2

output #2

22
2 4 6 22
14 18 10 16

Note

For the first example it’s easy to see that set 1 , 2 , 3 , 4 {1,2,3,4} 1,2,3,4 isn’t a valid set of rank 1 since gcd ⁡ ( 2 , 4 ) = 2 ≠ 1 \gcd(2,4)=2\not=1 gcd(2,4)=2=1 .

题目翻译(Chinese)

输入 n , k n,k n,k,输出 n n n 个四元组。

满足以下条件

  • 对于任意一个四元组,其中任意两个不同数的最大公约数是 k k k
  • 每个数仅在所有的四元组内出现一次

要求 n n n 个四元组内最大的数最小。

第一行输出最大的数,下面 n n n 行输出四元组。

1 ≤ n ≤ 10000 1\le n\le 10000 1n10000

1 ≤ k ≤ 100 1\le k\le 100 1k100

输出四元组时,顺序和整数的顺序都不重要,你可以任意输出。

注明

以上来自 C o d e F o r c e s ,翻译:洛谷。 以上来自 CodeForces,翻译:洛谷。 以上来自CodeForces,翻译:洛谷。 T h e The The P r o b l e m Problem Problem i s is is f r o m from from C o d e F o r c e s CodeForces CodeForces, t r a n s l a t e translate translate b y by by L u o g u . Luogu. Luogu.

DeepL的翻译太抽象了,就用洛谷了。(The translation of DeepL is too abstract, so I’ll use Lougu.)

解题思路(Solution)

中文版(Chinese Version)

结论:若我们将集合中的每个数字除以 k k k,那么这个集合的秩()就是 1 1 1。因此,我们可以找到 n n n 个秩为 1 1 1 的集合,然后将每个数字乘以 k k k
至于如何找到 n n n 个秩为 1 1 1 的集合,我们可以使用 { 6 a + 1 , 6 a + 2 , 6 a + 3 , 6 a + 5 } \{6a + 1, 6a + 2, 6a + 3, 6a + 5\} {6a+1,6a+2,6a+3,6a+5} 作为有效的秩为 1 1 1 的集合,并取 a = 0 a = 0 a=0 n − 1 n - 1 n1 组成 n n n 个集合,因此 m = n × k × 6 − k m = n \times k \times 6 - k m=n×k×6k

证明 m m m 最小的方法是在每个集合中连续取三个奇数。如果我们取较少的奇数,那么一个集合中就会有一个以上的偶数,而显然该集合满足 gcd ⁡ ( { x 1 , x 2 , … , x n } ) m o d 2 = 0 \gcd(\{x_1,x_2,\dots,x_n\}) \mod 2=0 gcd({x1,x2,,xn})mod2=0

英文版(Engish Version)

Click here.

AC Code

#include<bits/stdc++.h>
using namespace std;
int n, k;
signed main() {cin >> n >> k, printf("%d\n", (n * 6 - 1)*k);for (register int i = 1, x; i <= n; ++i) x = i * 6 - 5, printf("%d %d %d %d\n", (x * k), ((x + 1) * k), ((x + 2) * k), ((x + 4) * k));return 0;
}

重要提醒(The Most Important Thing)

今天是妇女节,祝全球女士节日快乐。(It’s Women’s Day. Happy Women’s Day to women all over the world.)

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

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

相关文章

网络编程套接字(2)——Socket套接字

目录 一、概念 二、分类 1、流套接字&#xff08;使用传输层TCP协议&#xff09; TCP的特点 2、数据报套接字&#xff08;使用传输层UDP协议&#xff09; UDP的特点 3、原始套接字 一、概念 Socket套接字&#xff0c;是由系统提供用于网络通信的技术&#xff0c;是基于T…

ORACLE RAC ADG容灾实施

--1、主库检查 检查修改主库的force logging 模式 sqlplus / as sysdba SQL>select FORCE_LOGGING from v$database; alter database force logging; --主库remote_login_passwordfile 为EXCLUSIVE show parameter remote_login_passwordfile ---2、主库参数 alter …

处理error: remote origin already exists.及其Gitee文件上传保姆级教程

解决error: remote origin already exists.&#xff1a; 删除远程 Git 仓库 git remote rm origin 再添加远程 Git 仓库 git remote add origin &#xff08;HTTPS&#xff09; 比如这样&#xff1a; 然后再push过去就ok了 好多人可能还是不熟悉怎么将文件上传 Gitee:我…

Python实习生(自动化测试脚本开发) - 面经 - TCL新技术有限公司

JD&#xff1a; 招聘流程&#xff1a; 2024.1.3 Boss直聘 沟通 2024.1.4 约面 2024.1.6 上午面试 面试流程&#xff1a; 上来第一步&#xff0c;直接问Python基础语法&#xff0c;讲一下基础的数据类型 就记得元组和字典 分别具体说一下元组和字典 流程控制语句有哪些&…

应急布控球远程视频监控方案:视频监控平台EasyCVR+4G/5G应急布控球

随着科技的不断发展&#xff0c;应急布控球远程视频监控方案在公共安全、交通管理、城市管理等领域的应用越来越广泛。这种方案通过在现场部署应急布控球&#xff0c;实现对特定区域的实时监控&#xff0c;有助于及时发现问题、快速响应&#xff0c;提高管理效率。 智慧安防视…

SPFA找负环

2024-01-31&#xff08;最短路径&#xff09;-CSDN博客 求负环的常用方法&#xff0c;基于spfa&#xff1a; 1.统计每个点入队的次数&#xff0c;如果有个点入队n次&#xff0c;则说明存在负环 2.统计当前每个点的最短路中包含的边数&#xff0c;如果某个点的最短路的所包含的边…

QT:用opencv的KNN识别图片中的LED数字(一)

前言 一款功能测试的软件demo,使用了QT作为界面,主要使用了opencv的KNN识别,使用gstreamer作为管道,用来打开图片。后期会写一篇打开摄像头实时识别的文章。 (正在写,未完成,稍候) 效果一预览: 效果二预览: 效果三预览: 正在写。。。 设计思路 1. 软件UI设…

【uni-app】condition 启动模式配置,生产环境无效,仅开发期间生效

在小程序开发过程中&#xff0c;每次代码修改后&#xff0c;都会启动到首页&#xff0c;有时非常不方便&#xff0c;为了更高效的开发&#xff0c;有时需要模拟直接跳转到指定的页面&#xff0c; 操作方法如下&#xff1a; 在pages.joson里面配置下列代码&#xff1a; "…

Mybatis-Spring | Mybatis与Spring的“整合“

目录 : 一、配置环境1. 整合环境需导入的JAR :Spring框架所需JARMybatis框架所需JARMyBatis与Spring整合的中间JAR数据库驱动JAR包数据源所需JAR包 &#xff08;下面的例子中 : 用的不是这个数据源&#xff09; 2. 编写“配置文件” 和 “.properties文件” ( 只是概述&#xf…

Claude3真的超越GPT4了吗?

一文探究Claude3真实能力 Claude3就在昨天悄无声息的上线了&#xff0c;OpenAI的好兄弟Anthropic公司仅仅在推特上发了一条消息来宣布这件事情。 Anthropic这次一下就发了三个模型&#xff1a;Opus、Sonnet、Haiku。说实话这名字感觉取得不咋地&#xff0c;主要是看不懂&#x…

图机器学习(3)-面向节点的人工特征工程

0 问题引入 地铁导航图 计算机是看不懂这些图&#xff0c;计算机只能看懂向量、矩阵。 传统图机器学习只讨论连接特征。 构造一个新的特征 x 1 x 2 x_1x_2 x1​x2​&#xff0c;有利于分开这种数据。 人需要去翻译这些计算机不懂的特征&#xff0c;变成计算机可以懂…

python篇---pycharm运行正常,但命令行执行提示module不存在的多种解决方式

pycharm运行正常&#xff0c;但命令行执行提示module不存在的多种解决方式&#xff08;全&#xff09; 解决方法 向执行代码中添加根目录路径&#xff0c;一般添加在头部 方法一&#xff1a;写死绝对路径 import sys sys.path.append(xxx/xxx/xxx/)方法二&#xff1a;使用o…

使用CompositionLocal简化组合式函数参数

使用CompositionLocal简化组合式函数参数 目录 1. 组合式函数难以维护状态2. 通过CompositionLocal对象隐式传递状态3. 重组4. 示例5. 参考资料 1. 组合式函数难以维护状态 和对象相比&#xff0c;组合式函数维护状态的能力比较弱。如果所有状态都通过参数列表显示传递&…

javaSE-----继承和多态

目录 一.初识继承&#xff1a; 1.1什么是继承&#xff0c;为什么需要继承&#xff1a; 1.2继承的概念与语法&#xff1a; 二.成员的访问&#xff1a; 2.1super关键字 2.2this和super的区别&#xff1a; 三.再谈初始化: 小结&#xff1a; 四.初识多态&#xff1a; 4.1多…

CAS 登出方案

1.配置 CAS 服务器端 添加配置cas.logout.followServiceRedirects:true&#xff0c;使支持 CAS 退出时支持输入 service 参数为跳转路径 2.配置客户端服务,添加session清除操作 3.前端文件添加跳转重定向 1) 直接在客户端调用http请求/cas/logout去注销不能携带cookie信息, 无…

生信技能42 - Linux服务器CPU、内存、负载及高消耗进程监控信息写入本地日志

Linux服务器CPU、内存、负载及高消耗进程监控信息写入本地日志 可通过设置最大检测时间(小时)max_hour和循环检测休眠时间(秒)sleep_second调整监控程序的运行时间。 # Filename: monitor_server.py # -*- coding:utf-8 -*- - import sys import os, time from datetime…

97. 常用的HTTP服务压测工具

文章目录 导言一、ab二、wrk三、go-wrk 导言 在项目正式上线之前&#xff0c;我们通常需要通过压测来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug&#xff0c;同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求(服务器实例个数&#xff0c;如需要部署…

ATM系统(Java)

ATM系统&#xff08;Java&#xff09; 1、实现要求 实现基本的ATM系统功能&#xff0c;包括注册&#xff0c;登录&#xff0c;查询&#xff0c;取款&#xff0c;存款&#xff0c;以及修改密码等。 2、代码实现 2.1 Test package com.ham;public class Test {public static v…

jmap-各种option参数说明

基本情况 jmap&#xff08;JVM Memory Map&#xff09;&#xff1a;作用一方面是获取dump文件&#xff08;堆转储快照文件&#xff0c;二进制文件&#xff09;&#xff0c;它还可以获取目标Java进程的内存相关信息&#xff0c;包括Java堆各区域的使用情况、堆中对象的统计信息…

高清数学公式视频素材、科学公式和方程式视频素材下载

适用于科普、解说的自媒体视频剪辑素材&#xff0c;黑色背景数学、科学公式和方程式视频素材下载。 视频编码&#xff1a;H.264 | 分辨率&#xff1a;3840x2160 (4K) | 无需插件 | 文件大小&#xff1a;16.12MB 来自PR视频素材&#xff0c;下载地址&#xff1a;https://prmuban…