博弈找规律 、多数gcd __gcd() 、

D. Meeting Bahosain

题意:两个数组  a数组可任意加减b数组中的数 判断a数组能否全部转换成一个数 YES/NO

思路:a[i]-a[j]=b1*x1+b2*x2+~~~~+bm*xm;判断任意两个数之间可以相互转化

要使存在x1~m有整数解、则必须(a[i]-a[j])%gcd==0、否则不能实现

/

知识点:__gcd()函数、多数求gcd-》

#include<bits/stdc++.h>
using namespace std;
int a[1000006],b[1000006];
int main()
{
	int n,m;
	cin>>n>>m;
	for(int i=0;i<n;i++) 
	{
		scanf("%d",&a[i]);
	}
	int gccd;
	for(int j=0;j<m;j++)
	{
		scanf("%d",&b[j]);
		if(j==0) gccd=b[j];
		else 
		{
			gccd=__gcd(gccd,b[j]);
		}
	}
	for(int i=0;i<n-1;i++)
	{
		if((a[i+1]-a[i])%gccd)//判断相邻差值
		{
			cout<<"NO"<<endl;
			return 0;
		}
	}
	cout<<"YES"<<endl;
}

B. Road to Arabella

博弈找规律

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int t;
	cin>>t;
	while(t--) 
	{
		int n,m;
		cin>>n>>m;
		if(n-m<=1) 
		{
			if(n%2==1) cout<<"Kilani"<<endl;
			else cout<<"Ayoub"<<endl;
			continue;
		}
		else cout<<"Kilani"<<endl;
		
	}
}
发布了44 篇原创文章 · 获赞 6 · 访问量 1209

猜你喜欢

转载自blog.csdn.net/qq_43868883/article/details/95963540
gcd