BestCoder Round #87 1001
GCD is Funny
Alex has invented a new game for fun. There are nnn integers at a board and he performs the following moves repeatedly:
- He chooses three numbers aaa, bbb and ccc written at the board and erases them.
- He chooses two numbers from the triple aaa, bbb and ccc and calculates their greatest common divisor, getting the number ddd (ddd maybe gcd(a,b)\gcd(a,b)gcd(a,b), gcd(a,c)\gcd(a,c)gcd(a,c) or gcd(b,c)\gcd(b, c)gcd(b,c)).
- He writes the number ddd to the board two times.
It can be seen that after performing the move n−2n-2n−2 times, there will be only two numbers with the same value left on the board. Alex wants to know which numbers can left on the board possibly. Can you help him?
There are multiple test cases. The first line of input contains an integer TTT (1≤T≤100)(1 \le T \le 100)(1≤T≤100), indicating the number of test cases. For each test case:
The first line contains an integer nnn (3≤n≤500)(3 \le n \le 500)(3≤n≤500) -- the number of integers written on the board. The next line contains nnn integers: a1,a2,...,ana_1, a_2, ..., a_na1,a2,...,an (1≤ai≤1000)(1 \le a_i \le 1000)(1≤ai≤1000) -- the numbers on the board.
For each test case, output the numbers which can left on the board in increasing order.
3
4
1 2 3 4
4
2 2 2 2
5
5 6 2 3 4
1 2
2
1 2 3
题意很简单 就是找n中任意两个数的最大最大公约数,我最开始选择用数组去存,结果超时了 ,导致wa了三遍,
后来选择用map去存
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<map>
#include<algorithm>
typedef long long ll;
using namespace std;
int test[1006];
int test2[1006];
int GCD(int a,int b)
{
if(a < b)
int temp = a, a = b, b = temp;
if(b == 0) return a;
return GCD(b,a%b);
}
int main()
{
int t;
int i,j;
int n;
scanf("%d",&t);
map<int,int>test2;
while(t--)
{
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&test[i]);
int tt;
for(i=1;i<n;i++)
{
for(j=i+1;j<=n;j++)
{
tt=GCD(test[i],test[j]);
test2[tt]=1;
}
}
map<int,int>::iterator it;
int flag=1;
for(it=test2.begin();it!=test2.end();it++)
{
if(flag==1)
printf("%d",it->first);
else
printf(" %d",it->first);
flag=0;
}
test2.clear();
printf("\n");
} }
BestCoder Round #87 1001的更多相关文章
- 贪心 BestCoder Round #39 1001 Delete
题目传送门 /* 贪心水题:找出出现次数>1的次数和res,如果要减去的比res小,那么总的不同的数字tot不会少: 否则再在tot里减去多余的即为答案 用set容器也可以做,思路一样 */ # ...
- HDU 5904 - LCIS (BestCoder Round #87)
HDU 5904 - LCIS [ DP ] BestCoder Round #87 题意: 给定两个序列,求它们的最长公共递增子序列的长度, 并且这个子序列的值是连续的 分析: 状态转移方程式 ...
- 暴力 BestCoder Round #41 1001 ZCC loves straight flush
题目传送门 /* m数组记录出现的花色和数值,按照数值每5个搜索,看看有几个已满足,剩下 5 - cnt需要替换 ╰· */ #include <cstdio> #include < ...
- 暴力 BestCoder Round #46 1001 YJC tricks time
题目传送门 /* 暴力:模拟枚举每一个时间的度数 详细解释:http://blog.csdn.net/enjoying_science/article/details/46759085 期末考结束第一 ...
- 字符串处理 BestCoder Round #43 1001 pog loves szh I
题目传送门 /* 字符串处理:是一道水题,但是WA了3次,要注意是没有加'\0'的字符串不要用%s输出,否则在多组测试时输出多余的字符 */ #include <cstdio> #incl ...
- BestCoder Round #75 1001 - King's Cake
Problem Description It is the king's birthday before the military parade . The ministers prepared a ...
- BestCoder Round #92 1001 Skip the Class —— 字典树 or map容器
题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=748&pid=1001 题解: 1.trie树 关 ...
- BestCoder Round #87 1003 LCIS[序列DP]
LCIS Accepts: 109 Submissions: 775 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65 ...
- BestCoder Round #87 1002 Square Distance[DP 打印方案]
Square Distance Accepts: 73 Submissions: 598 Time Limit: 4000/2000 MS (Java/Others) Memory Limit ...
随机推荐
- “NOT_IN”与“NULL”的邂逅
今天处理了一个因“NOT IN”与“NULL”邂逅导致的问题,值得思考和总结,记录在此,供参考.(感谢John抛出的问题) 我们以实验的形式先再现一下这个问题,然后对其分析,最后给出几种解决方案. 1 ...
- tony_nginx_02_URL重写
location正则写法 一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的 ...
- 网络换行符替换为word换行符
在替换的页面上,查找里输入:^l,在替换里输入:^p,然后点击替换即可.
- Relatives
Description Given n, a positive integer, how many positive integers less than n are relatively prime ...
- JQuery的Ajax跨域请求原理概述及实例
今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuer ...
- win7,xp通用的打开文件浏览对话框的方法
第一种:Function BrowseForFile() Dim shell : Set shell = CreateObject("WScript.Shell") ...
- mac上抓iphone数据包
iOS 5后,apple引入了RVI remote virtual interface的特性,它只需要将iOS设备使用USB数据线连接到mac上,然后使用rvictl工具以iOS设备的UDID为参数在 ...
- Yarn&Mapreduce参数的具体含义和配置参考
Yarn & Mapreduce 参数的具体含义和配置 http://zh.hortonworks.com/blog/how-to-plan-and-configure-yarn-in-hdp ...
- Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数
1. 集合 1.1 特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...
- Egret和Http请求 (Ajax、XMLHttpRequest、Post、Get)
一 Http请求 二 AJax和XMLHttpRequest 三 一个Ajax例子 四 Egret中的egret.HttpRequest 五 Post和Get区别 一 Http请求 Http深入 ...