#P17158. 行列式的值

行列式的值

行列式的值

来源:洛谷 P17158([入门赛 #50] 行列式的值)

题目描述

对于四个整数 a,b,c,da, b, c, d,考虑式子 a×d−b×ca \times d - b \times c。

给定 x,yx, y,请你求出有多少种 a,b,c,da, b, c, d 的取值方案,满足:

  • x≤a,b,c,d≤yx \le a, b, c, d \le y;
  • a×d−b×c=0a \times d - b \times c = 0。

输入格式

输入只有一行两个整数表示 x,yx, y。

输出格式

输出一行一个整数表示答案。

样例 #1

样例输入 #1

0 0

样例输出 #1

1

样例解释

给定的数据范围只有 a,b,c,da, b, c, d 都等于 00 一种方案,这种情况下 a×d−b×c=0a \times d - b \times c = 0。

样例 #2

样例输入 #2

0 1

样例输出 #2

10

样例解释

满足要求的 a,b,c,da, b, c, d 取值如下表:

aa bb cc dd
00 00 00 00
11
11 00
11
11 00 00
11
11 00 00
11
11 00
11

提示

数据规模与约定

  • 对 20%20\% 的数据,x=yx = y;
  • 另有 10%10\% 的数据,x=0,y=1x = 0, y = 1;
  • 另有 10%10\% 的数据,x=−1,y=0x = -1, y = 0;
  • 对 100%100\% 的数据,−10≤x≤y≤10-10 \le x \le y \le 10。

提示

  • 值域大小至多 2121,直接四重循环枚举 a,b,c,da, b, c, d 即可,时间复杂度 O((y−x+1)4)≤194481O((y-x+1)^4) \le 194481。
  • 用 long long 累加答案,避免乘法溢出(214=19448121^4 = 194481 本身不会溢出)。

测试点数据说明

测试点 数据 说明
1 0 0 官方样例 1,答案 1
2 0 1 官方样例 2,答案 10
3 -1 0 题面特殊档,负数与 0 混合
4 -10 10 全值域极限,21421^4 规模
5 5 5 x=yx = y 且非零
6 -3 -3 x=yx = y 且为负
7 0 10 非负值域
8 -10 0 非正值域
9 -5 6 跨 0 的中等范围
10 -8 9 大范围随机档