P17348 [ECNA 2025] How Many Balls?
题目描述
如果一个袋子里有 $r$ 个红球和 $g$ 个绿球,从中随机抽取两个球,那么恰好得到两种颜色各一个球的概率为
$$
P(r,g)=\frac{2rg}{(r+g)(r+g-1)}.
$$
编写程序,读入一个已经约分到最简形式的有理数 $p/q$,判断是否存在 $r\le 10^6$ 和 $g\ge r$,使得 $P(r,g)=p/q$。
输入格式
输入仅一行,包含两个以空格分隔的正整数 $p,q$,其中 $p>0$ 且 $2p-1\le q\le 1000$。保证 $p$ 与 $q$ 互质。
输出格式
如果存在解,输出满足上述条件的两个正整数 $r,g$,以空格分隔。如果有多个解,输出 $r$ 最小的那一个。对于固定的 $r$,至多存在一个 $g\ge r$ 满足 $P(r,g)=p/q$。
如果不存在 $r\le 10^6$ 的解,输出 `impossible`。