Problem:摩天大楼
Description:
随着科技的发展,某国家准备修建一座高楼,高度为n(n<=1e18),来展现他们国家的强大国力,他们国家有两支强大的施工队,国家于是把修建计划给了这两只施工队,为了提高施工队的积极性,国家会特殊奖励最后完成施工的,两只施工的施工计划是两只施工队轮流工作,由于施工队实力有限,每天只能修建1-m(m<=1e18)层,假如两只施工队都非常聪明,问首先施工的那只队伍能不能获得奖励,能输出YES,不能输出NO
Input:
数据的组数 T;(T<=3000)
接下来T行,每行一个n m, 楼的高度,最大修建层数 (n,m<=1e18)
Output:
每行一个单独的YES或者NO;
Sample Input:
2
2 1
6 4
Sample Output:
NO
YES
Language:C++
#include <iostream>using namespace std;int main()
{int T;cin>>T;while(T--){long long n,m;cin>>n>>m;if(n%(m+1)==0||n==0) cout<<"NO"<<endl;else cout<<"YES"<<endl;}return 0;
}