直接分解b1居然可以AC,建议增强数据
查看原帖
直接分解b1居然可以AC,建议增强数据
513069
wild_pointer楼主2022/11/4 00:18
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <vector>
#include <map>
#include <set>
#include<bitset>
#include<list> 
#include <algorithm>
#define pii pair<int,int>
#define pll pair<LL,LL>
#define pil pair<int,LL>
#define pli pair<LL,int>
#define pdd pair<db,db>
#define se second 
#define fi first
#define endl '\n'
#define rep(i,a,b) for (register int i=a;i<b;++i)
#define per(i,a,b) for (register int i=a;i>b;--i)
#define MEM(a,x) memset(a,x,sizeof(a))
#define M(x) ((x)%MOD)
#define db double
#define eps 1e-9
typedef long long LL;
using namespace std;
const int MOD=1e9+7;
const int N=1e5+10,INF=1e9;
//int a[N];
void solve()
{
	int a0,a1,b0,b1,ans=0;
	cin>>a0>>a1>>b0>>b1;
	for(int i=1;i<=b1/i;++i){
		if(b1%i) continue;
		if(__gcd(a0,i)==a1&&i/__gcd(i,b0)==b1/b0) ++ans;
		int j=b1/i;
		if(i!=j&&__gcd(a0,j)==a1&&j/__gcd(j,b0)==b1/b0) ++ans;
	}
	cout<<ans<<endl;
}
int main()
{
//	#ifndef ONLINE_JUDGE
//    freopen("title.in","r",stdin);
//    freopen("title.out","w",stdout);
//    #endif
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int _=1;
	cin>>_;
	while(_--){
		solve();
	}
//	rep(i,1,_+1){
//		cout<<"Case "<<i<<": ";
//		solve();
//	}
	return 0;
}
2022/11/4 00:18
加载中...