noj 2069 赵信的往事 [yy题 无限gcd]
|
Accepted
|
31MS
|
224K
|
1351Byte
|
2014-11-13 13:32:56.0
|
坑爹的无限gcd,,,尼玛想好久,原来要x对y算一次,y再对x算一次,,,
赵信的往事
总提交 : 20 测试通过 : 2
描述
赵信——德玛西亚的总管,可谓一人之下,万人之上。但谁能想到,他以前在诺克萨斯的角斗场过的是怎样的生活?
那时,成千上万的奴隶或战俘被抓进角斗场,通过血腥的杀戮供贵族们取乐。所以,为了活下去,除了自身的实力之外,拉帮结派也是必不可少的。显然,这样的事只可能发生在互相信赖的人的中间,而在当时,人们互相信赖的标准却很奇怪——每个人都有一个编号,若两个人可以相互信赖,那么当且仅当这两个编号的素因子集合相同。
那么问题来了:
现在有三个人想组团,请问他们能相互信赖么?
输入
先输入一个正整数T,表示共有T组测试样例,1≤T≤10000。
对于每一个测试样例,输入三个正整数,对于第i个数pi,表示第i个人的编号(1≤pi≤109)。
输出
对于每组样例,如果可以可以成功组团,则输出“YES”,否则输出“NO”。
样例输入
2
3 6 9
3 9 27
样例输出
NO
YES
提示
对于样例一,6的素因子集合为{2,3},与其他人不同,所以不行;
对于样例二,所有数的素因子集合均为{3},因此可以组团。
题目来源
yuman
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<string>
#include<iostream>
#include<algorithm>
#include<set>
#define maxi(a,b) (a)>(b)?(a):(b)
#define mini(a,b) (a)<(b)?(a):(b)
#define N 1000005
#define mod 10000
#define ll long long using namespace std; int T;
int flag;
int a[]; int gcd(int x,int y)
{
if(y==)
return x;
return gcd(y,x%y);
} void ini()
{
flag=;
scanf("%d%d%d",&a[],&a[],&a[]);
//printf("%d %d %d\n",a[0],a[1],a[2]);
sort(a,a+);
} void cal(int x,int y)
{
int g;
if(x== && y==) return;
g=gcd(x,y);
x/=g;
y/=g;
if(x== && y==) return;
else if(g== && y%x!=){
flag=;return;
}
else{
cal(x,g);
}
return;
//}
} void solve()
{
// printf(" sss\n");
cal(a[],a[]);
cal(a[],a[]);
if(flag==) return;
// printf(" sss2\n");
cal(a[],a[]);
cal(a[],a[]);
} void out()
{
//printf(" oooo\n");
if(flag==){
printf("YES\n");
}
else{
printf("NO\n");
}
} int main()
{
// freopen("data.in","r",stdin);
scanf("%d",&T);
while(T--)
// while(scanf("%I64d",&n)!=EOF)
{
ini();
solve();
out();
}
return ;
}
noj 2069 赵信的往事 [yy题 无限gcd]的更多相关文章
- [YY题]HDOJ5288 OO’s Sequence
题意:求这个式子 $\sum \limits_{i=1}^{n} \sum \limits_{j=1}^{m} f(i, j) mod (10^9 + 7)$ 的值 就是对每个区间[i, j]枚举区间 ...
- NOJ 1643 阶乘除法(YY+小技巧)
[1643] 阶乘除法 时间限制: 5000 ms 内存限制: 65535 K 问题描述 输入两个正整数 n, m,输出 n!/m!,其中阶乘定义为 n!= 1*2*3*...*n (n>=1) ...
- cf 215 C. Crosses yy题
链接:http://codeforces.com/problemset/problem/215/C C. Crosses time limit per test 2 seconds memory li ...
- [NOIP2009] $Hankson$ 的趣味题 (数论,gcd)
题目链接 Solution 此题,用到的结论都是比较浅显的,但是,我竟然没想到反过来枚举... 只有50分... 被自己蠢哭... 结论比较浅显: 1.对于两个正整数\(a\),\(b\),设 \(g ...
- 【Luogu】P1072Hankson的趣味题(gcd)
这题真TM的趣味. 可以说我的动手能力还是不行,想到了算法却写不出来.以后说自己数论会GCD的时候只好虚了…… 我们首先这么想. x与a0的最大公约数为a1,那么我们把x/=a1,a0/=a1之后,x ...
- [俺们学校的题]伪.GCD
GCD 题面: 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. 思路: 首先两个数gcd(x,y)=p为质数,那么令x=k1*p,y=k2*p,由于是最 ...
- CodeForces 992B Nastya Studies Informatics + Hankson的趣味题(gcd、lcm)
http://codeforces.com/problemset/problem/992/B 题意: 给你区间[l,r]和x,y 问你区间中有多少个数对 (a,b) 使得 gcd(a,b)=x lc ...
- 【题解】洛谷P1072 Hankson的趣味题 (gcd和lcm的应用)
洛谷P1072:https://www.luogu.org/problemnew/show/P1072 思路 gcd(x,a0)=a1 lcm(x,b0)=b1→b0*x=b1*gcd(x,b0) ( ...
- 【HDU5512】 2015沈阳赛区D题 规律题(GCD)
第一篇博客,就从一个比较简单的题目入手吧! 题目: [HDU5512] 题意: 有n个塔,编号为1~n, 编号为a,b的塔已经维修好,此外其他的塔都需要维修.塔的维修是有顺序的,每次只能维修编号为k ...
随机推荐
- false - (失败的)什么都不做
总览 (SYNOPSIS) false [忽略命令行参数] false OPTION 描述 (DESCRIPTION) 程序 结束 时, 产生 表示 失败 的 状态码. 下列的 选项 没有 简写 形式 ...
- Python IDE推荐
八个最佳Python IDE 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs Python是一种功能强大.语言简洁的编程语言.本文向大家推荐8个适合pyt ...
- Bootstrap 网格系统(Grid System)
Bootstrap 网格系统(Grid System) Bootstrap提供了一套响应式,移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列. 什么是 ...
- vuejs 的错误代码,有助于理解
1.vuejs 的双向绑定理解 2.嵌套复杂对象的使用. * 1. 分割都是, 2. json 中分割都是; 4. v-bind:value="param" 括号内的就是 vuej ...
- shell脚本,文件里面的英文大小写替换方法。
[root@localhost wyb]# cat daxiaoxie qweBNMacb eeeDFSmkl svdIOPtyu [root@localhost wyb]# cat daxiaoxi ...
- [LUOGU]1141 01迷宫
题目描述 有一个仅由数字0与1组成的n×n格迷宫.若你位于一格0上,那么你可以移动到相邻4格中的某一格1上,同样若你位于一格1上,那么你可以移动到相邻4格中的某一格0上. 你的任务是:对于给定的迷宫, ...
- 【Java_多线程并发编程】基础篇——synchronized关键字
1. synchronized同步锁的原理 当我们调用某对象的synchronized方法或代码块时,就获取了该对象的同步锁.例如,synchronized(obj)就获取了“obj这个对象”的同步锁 ...
- (34)zabbix Queue队列
概述 queue(队列)显示监控项等待刷新的时间,可以看到每种agent类型刷新时间,通过queue可以更好的体现出监控的一个指标.正常情况下,是一片绿色. 如果出现过多红色,那么需要留意一下.我们也 ...
- 【Python学习之一】list与tuple
list -> [] list是python内置的有序集合数据类型,可随时添加和删除元素.例如:创建一个动物的列表: animal = ['cat', 'dog', 'pig' len()函数可 ...
- NSArray 排序
先研究一种方法 NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:]; ; i < ; i++) { ; [arr ...