NC212906. 两点距离
描述
输入描述
第一行两个数n,q。表示有n个点,q组询问。
,
接下来q行,每行两个数x,y。
输出描述
每个询问输出一行,
每行一个数字表示答案。
示例1
输入:
5 2 1 1 2 4
输出:
0 2
C++(g++ 7.5.0) 解法, 执行用时: 249ms, 内存消耗: 1360K, 提交时间: 2023-03-31 22:27:07
#include<bits/stdc++.h> using namespace std; int gcd(int a,int b) { return b?gcd(b,a%b):a; } int main() { int n,q; cin>>n>>q; while(q--) { int x,y; scanf("%d%d",&x,&y); if(x==y)puts("0"); else if(gcd(x,y)==1)puts("1"); else puts("2"); } return 0; }
C++(clang++11) 解法, 执行用时: 225ms, 内存消耗: 9092K, 提交时间: 2020-10-26 10:21:35
#include<bits/stdc++.h> using namespace std; int n,q,x,y; int main(){ scanf("%d%d",&n,&q); while(q--){ scanf("%d%d",&x,&y); if(x==y)puts("0"); else if(__gcd(x,y)==1)puts("1"); else puts("2"); } return 0; }