TLE on #11
查看原帖
TLE on #11
663199
Tachibana27楼主2023/9/21 15:09
#include<bits/stdc++.h>

#define int long long

using namespace std;

inline int read(){

   	int s=0;

   	int w=1;

   	char ch=getchar();

   	for(;ch<'0'||ch>'9';ch=getchar())

    	if(ch=='-')

			w=-1;

   	for(;ch>='0'&&ch<='9';ch=getchar())

		s=s*10+ch-'0';

   	return s*w;

}

void write(int x) {

	if(x<0){

    	putchar('-');

    	x=-x;

  	}

  	if(x>9)

    	write(x/10);

	putchar(x%10+'0');

	return;

}

int t;

int a0,a1,b0,b1;

int __lcm(int a,int b){
	
	return a*b/__gcd(a,b);
	
}

signed main(){

	t=read();
	
	while(t--){
		
		int sum=0;
		
		a0=read();
		
		a1=read();
		
		b0=read();
		
		b1=read();

//		cin>>a0>>a1>>b0>>b1;
		
		for(int i=1;i*i<=b1;i++)
				
			if((!(b1%i))&&__gcd(i,a0)==a1&&__lcm(i,b0)==b1&&i*i!=b1&&__gcd(b1/i,a0)==a1&&__lcm(b1/i,b0)==b1)
				
				sum+=2;
					
			else if((!(b1%i))&&((__gcd(i,a0)==a1&&__lcm(i,b0)==b1)||(i*i!=b1&&__gcd(b1/i,a0)==a1&&__lcm(b1/i,b0)==b1)))
					
				sum++;
			
		write(sum);

//		cout<<sum;
		
		cout<<"\n";
		
	}

	return 0;
	
}
2023/9/21 15:09
加载中...