P6511 [QkOI#R1] Quark and Equations

题目描述

给定 $n,m$,求有几组正整数对 $(i,j)$ 满足下列方程组: $$ \begin{cases} i+j=n \\ \lfloor\frac{i}{j}\rfloor+\lceil\frac{j}{i}\rceil=m \end{cases} $$ 上式中,$\lfloor x\rfloor$ 表示对 $x$ 向下取整,$\lceil x\rceil$ 表示对 $x$ 向上取整。

输入格式

**本题单个数据点含多组数据。** 第一行一个整数 $T$ 表示这个数据点有几组数据。 接下来 $T$ 行每行两个整数 $n,m$ ,含义如题面所述。

输出格式

你的输出应有 $T$ 行。 对于每一组数据,输出一行一个整数表示你的答案。

说明/提示

### 样例解释 当 $n=m=2$ 时,只有 $(1,1)$ 满足条件。 当 $n=2,m=1$ 时,无解。 当 $n=6,m=2$ 时,只有 $(2,4),(3,3)$ 满足条件。 --- ### 数据范围 **本题采用捆绑测试。** - Subtask 1(10 pts):$T,n,m\le 500$。 - Subtask 2(40 pts):$T,n,m\le 5000$。 - Subtask 3(5 pts):$m=1$。 - Subtask 4(5 pts):$m>n$。 - Subtask 5(5 pts):$m\in[n-1,n]$。 - Subtask 6(35 pts):无特殊限制。 对于 $100\%$ 的数据,$1\le T\le 10^5$,$1\le n,m\le 10^{7}$。