#P6511. [QkOI#R1] Quark and Equations

[QkOI#R1] Quark and Equations

题目描述

给定 n,mn,m,求有几组正整数对 (i,j)(i,j) 满足下列方程组:

$$\begin{cases} i+j=n \\ \lfloor\frac{i}{j}\rfloor+\lceil\frac{j}{i}\rceil=m \end{cases} $$

上式中,x\lfloor x\rfloor 表示对 xx 向下取整,x\lceil x\rceil 表示对 xx 向上取整。

输入格式

本题单个数据点含多组数据。

第一行一个整数 TT 表示这个数据点有几组数据。

接下来 TT 行每行两个整数 n,mn,m ,含义如题面所述。

输出格式

你的输出应有 TT 行。

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

2
2 2
2 1

1
0
1
6 2

2

提示

样例解释

n=m=2n=m=2 时,只有 (1,1)(1,1) 满足条件。
n=2,m=1n=2,m=1 时,无解。
n=6,m=2n=6,m=2 时,只有 (2,4),(3,3)(2,4),(3,3) 满足条件。


数据范围

本题采用捆绑测试。

  • Subtask 1(10 pts):T,n,m500T,n,m\le 500
  • Subtask 2(40 pts):T,n,m5000T,n,m\le 5000
  • Subtask 3(5 pts):m=1m=1
  • Subtask 4(5 pts):m>nm>n
  • Subtask 5(5 pts):m[n1,n]m\in[n-1,n]
  • Subtask 6(35 pts):无特殊限制。

对于 100%100\% 的数据,1T1051\le T\le 10^51n,m1071\le n,m\le 10^{7}