CodeForces 477B-E - Dreamoon and Sets-构造规律题
2015-10-24 21:08
417 查看
题意:
给出n,k;
输出n组集合,每组4个。
对于任意一组中的4个元素,一组内任意2个数的gcd==k
且n组的所有数字不能重复。
要使得n组中最大的数字最小。
并输出n数数组
思路:
显然输出的只是每四个互质的数,与k无关
规律居然是:
从一开始 【1 2 3 3+2】 上次最后的数是5,然后【5+2 8 9 9+2】
for (i=1;i<=n;i++)
{
printf("%d %d %d %d\n",st*k,(st+1)*k,(st+2)*k,(st+4)*k);
st+=6;
}
跪了。。。。
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <iostream>
#include <queue>
#include <map>
#include <set>
#include <vector>
using namespace std;
int main()
{
int i;
int n,k;
scanf("%d%d",&n,&k);
int st=1;
printf("%d\n",(6*(n)-1)*k);
for (i=1;i<=n;i++)
{
printf("%d %d %d %d\n",st*k,(st+1)*k,(st+2)*k,(st+4)*k);
st+=6;
}
return 0;
}
给出n,k;
输出n组集合,每组4个。
对于任意一组中的4个元素,一组内任意2个数的gcd==k
且n组的所有数字不能重复。
要使得n组中最大的数字最小。
并输出n数数组
思路:
显然输出的只是每四个互质的数,与k无关
规律居然是:
从一开始 【1 2 3 3+2】 上次最后的数是5,然后【5+2 8 9 9+2】
for (i=1;i<=n;i++)
{
printf("%d %d %d %d\n",st*k,(st+1)*k,(st+2)*k,(st+4)*k);
st+=6;
}
跪了。。。。
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <iostream>
#include <queue>
#include <map>
#include <set>
#include <vector>
using namespace std;
int main()
{
int i;
int n,k;
scanf("%d%d",&n,&k);
int st=1;
printf("%d\n",(6*(n)-1)*k);
for (i=1;i<=n;i++)
{
printf("%d %d %d %d\n",st*k,(st+1)*k,(st+2)*k,(st+4)*k);
st+=6;
}
return 0;
}
相关文章推荐
- 内存管理器(七)Glibc malloc 实现(三)--多线程思想(先占个坑)
- 归并排序+逆序数模板
- 如何用户vs 远程调试代码
- 1.入门和eclipse
- WebService到底是什么?
- 内存管理器(七)Glibc malloc 实现(三)--多线程思想(先占个坑)
- 【Java】Java中的面向对象
- 高级学员:2015年10月24日作业
- Java基础学习6(位运算符,交换两个数的三种方法)
- 为什么要写博客
- String类和基本数据类型包装类
- Linux教程:SSH免密码登录的方法
- LeetCode53——Maximum Subarray
- java线程池的注意事项
- POJ 1062 昂贵的聘礼 (dijkstra)
- 20151024的NOIP模拟赛
- 面向对象基础2:多态.抽象类
- hdu5480
- 从0开始<九> 字符串相关:grep函数的简单实现
- JavaScript Object类型 小抄