TLE!!!蒟蒻求助?!
查看原帖
TLE!!!蒟蒻求助?!
307586
wangsijie楼主2021/2/17 16:46

就1和3对了,其它T了。

#include<bits/stdc++.h>
using namespace std;
long long g;
long long h;
int gcd(int a,int b)
{
	if(b==0) return a;
	return gcd(b,a%b);
}
int dg(long long a,long long b,int c)
{
	long long a1,b1;
	int i;
	int flag;
	if(a>=b) flag=gcd(a,b);
	else flag=gcd(b,a);
	if(flag==g)
	{
		printf("%ld %ld\n",a,b);
		return 1;
	}
	flag=0;
	if(c==1) 
	{
		a1=b;
		b1=a;
		if((a1==a)&&(b1==b)) return 0;
		if(a1>=b1) return 0;
		flag=dg(a1,b1,2);
		if(flag==1) return 1;
	}
	else if(c==2)
	{
		b1=b;
		if(b1==1) return 0;
		for(i=a*b1;i<(a*b1+b1);i++)
		{
			a1=i;
			if(b1>a1) continue;
			flag=dg(a1,b1,1);
			if(flag==1) return 1;
			flag=dg(a1,b1,2);
			if(flag==1) return 1;
		}
	}
	return 0;
}
int main()
{
	//freopen("0.in","r",stdin);
	//freopen("0.out","w",stdout);
	int i;
	int t;
	int tmp;
	scanf("%d",&t);
	for(i=0;i<t;i++)
	{
		scanf("%d%d",&g,&h);
		tmp=dg(h,1,1);
		if(tmp==1) continue;
		tmp=dg(h,1,2);
	}
	//fclose(stdin);
	//fclose(stdout);
	return 0;
}

谢谢各位巨佬

2021/2/17 16:46
加载中...