CF1584A Mathematical Addition 题解
题意
给定 $u,v$,求 $\dfrac xu+\dfrac yv=\dfrac{x+y}{u+v}$ 的任意一组整数解。
思路
先化简方程。两边同乘 $uv(u+v)$:$$ xv(u+v)+yu(u+v)=uv(x+y) $$ 拆括号:$$ xvu+xv^2+yu^2+yuv=uvx+uvy $$ 消去 $xvu,yuv$:$$ xv^2+yu^2=0 $$ 也就是说直线 $xv^2+yu^2=0$ 上的点都可以。
提公因式:$$ u^2v^2(\dfrac{x}{u^2}+\dfrac{y}{v^2})=0 $$ 那么就很显然了,令 $x=u^2p,y=v^2q\ (p+q=0)$ 即可。
为了保险,$p,q$ 最好分别取 $±1$。
代码
方案 1 $(p=1)$:
#include <iostream>
#define int long long
using namespace std;
signed main()
{
int t;cin >> t;
for(int i = 0, u, v;i < t;++i)
cin >> u >> v, cout << u * u << " " << -v * v << endl;
return 0;
}
方案 2 $(p=-1)$:
#include <iostream>
#define int long long
using namespace std;
signed main()
{
int t;cin >> t;
for(int i = 0, u, v;i < t;++i)
cin >> u >> v, cout << -u * u << " " << v * v << endl;
return 0;
}