牛牛爱数学【牛客tracker  每日一题】 牛牛爱数学时间限制1秒 空间限制256M网页链接牛客tracker牛客tracker 每日一题完成每日打卡即可获得牛币。获得相应数量的牛币能在【牛币兑换中心】换取相应奖品助力每日有题做丰盈牛币日益多题目描述牛牛可喜欢数学啦。作为数学爱好者牛牛可是个数学大师。牛牛的数学老师也知道这一点所以让牛牛参与了数学考试的命题。牛牛为了让大家都能做对所以出了一个简单的题。现在有a 、 b 、 c a、b、ca、b、c三个正整数牛牛想要知道是否存在一个正整数d dd使得a 2 d 2 b 2 c 2 2 a b c d a^2d^2b^2c^22abcda2d2b2c22abcd成立。输入描述输入一个T ( 1 ≤ T ≤ 10 5 ) T( 1≤T≤10^5)T(1≤T≤105)表示接下来有T组测试数据接下来T TT行。每行输入三个数a 、 b 、 c a、b、ca、b、c。( 1 ≤ a 、 b 、 c ≤ 10 9 ) (1≤a、b、c≤10^9)(1≤a、b、c≤109)输出描述输出有T TT行每行对应一个结果如果存在请输出任意一个满足的d的值不存在请输出 − 1 -1−1。示例1输入2 1 1 1 3 4 5输出1 -1解题思路本题核心是完全平方公式因式分解将复杂方程化简为简单的整除判定问题高效应对超大数据和多组测试用例。对原式a 2 d 2 b 2 c 2 2 a b c d a^2d^2b^2c^22abcda2d2b2c22abcd移项整理套用完全平方公式可得( a d − b c ) 2 0 (ad - bc)^2 0(ad−bc)20直接推出唯一解a d b c ad bcadbc即d b ⋅ c a d\frac{b \cdot c}{a}dab⋅c​。由于d dd必须是正整数仅需判断b × c b \times cb×c能否被a aa整除若可以整除商即为合法的d dd若无法整除则不存在解输出− 1 -1−1。算法为常数级运算O ( 1 ) O(1)O(1)完美适配T ≤ 10 5 T \le 10^5T≤105、数值上限10 9 10^9109的所有约束。总结核心逻辑配方化简方程将求解问题转化为整除性判断直接得出唯一整数解。关键操作完全平方公式推导、乘法整除校验。效率保障单组测试用例无循环、无复杂计算极速处理十万级输入。代码内容#includebits/stdc.husingnamespacestd;#defineendl\ntypedeflonglongll;typedefunsignedlonglongull;typedefvectorvectorllvvt;typedefpairll,llpll;constll N1e310;constll INF1e18;constll M1e610;constll mod1e97;voidS(){ll x,y,z;cinxyz;ll wy*z/x;if(x*wy*z)coutwendl;elsecout-1endl;}intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);ll T1;cinT;while(T--)S();return0;}