Good ol' Numbers Coloring

原题地址
这道题是道思维题,自己没想到是gcd,导致这场比赛后面的题做的时候心态炸了。
题意:给你两个数,询问是否有无限个黑色的区域(判断是否是黑***域题目中写的很清楚)
思路:因为1和任何数都会使黑***域有限(其实都是白的,没有黑的。。),且发现样例中的6 , 9 黑***域是无限的,然后自己写了几个数去推发现只要gcd(a,b)==1,那么黑***域就是有限的。反之就是无限的。
(自己憨批了,看见样例中有限的区域都是用的素数,以为跟素数有关系,然后浪费了很长时间才发现是gcd,ε=(´ο`*)))唉,自己的数论知识垃圾的一匹)

#include <bits/stdc++.h>
using namespace std;
#define ll long long
int cmd(int a,int b){
    return b? cmd(b,a%b) : a;
}
int main() {
    int n;
    cin >>n;
    while(n--){
        int a, b;
        cin >>a >>b;

            if(cmd(a,b)==1)
            cout<<"Finite"<<endl;
            else cout<<"Infinite"<<endl;

    }
    return 0;
}
全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务