专业建站方案,北京楼市暴跌,自己注册公司多少钱,大型网站开发文档D一种因子游戏
思路#xff1a;我们考虑#xff0c;对于A数组中的每个数#xff0c;我们考虑B数组中是否存在某个对应的数字能和其匹配#xff0c;即 g c d gcd gcd等于1。由此想到二分图最大匹配#xff0c;算出最大匹配数然后判断即可。
#includebits/stdc.hu…D一种因子游戏
思路我们考虑对于A数组中的每个数我们考虑B数组中是否存在某个对应的数字能和其匹配即 g c d gcd gcd等于1。由此想到二分图最大匹配算出最大匹配数然后判断即可。
#includebits/stdc.husing namespace std;
const int N2e65;
typedef long long ll;
typedef pairll,ll pll;
int mod1e97;
const int maxv4e65;
const double piacos(-1.0);vectorint e[N];
int st[N];
int f[N];bool dfs(int x)
{for(auto u : e[x]){if(st[u]) continue;st[u]1;if(!f[u]||dfs(f[u])){f[u]x;return true;}}return false;
}void solve()
{ int n;cinn;vectorint a(n5),b(n5);//vectorint st(n5);for(int i1;in;i) cina[i];for(int i1;in;i) cinb[i];for(int i1;in;i){for(int j1;jn;j){int x__gcd(a[i],b[j]);if(x1){e[i].push_back(j);}}}int ans0;for(int i1;in;i){memset(st,0,sizeof st);if(dfs(i)) ans;}// coutansendl;if(ansn){coutAliceendl;}else coutBobendl;
}int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t;t1;//ol();//cint;while(t--){solve();}system(pause);return 0;
}