CF2125B.Left and Down

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

Left and Down

题目描述

有一个机器人位于一片无限网格的格子 (a,b)(a,b) 处,Misha 想要把它移动到格子 (0,0)(0,0)。为了完成这一点,他确定了一个整数 kk

Misha 可以执行以下操作:选择两个整数 dx,dydx,dy(在 00kk 之间),将机器人左移 dxdx 个格子(向减少 xx 坐标的方向)并下移 dydy 个格子(向减少 yy 坐标的方向)。或者说,将机器人从 (x,y)(x,y) 移动到 (xdx,ydy)(x-dx,y-dy)

此操作的花费是:

  • 11,如果选择的数对 (dx,dy)(dx,dy) 是第一次被选用;
  • 00,如果数对 (dx,dy)(dx,dy) 在之前被选用过。

注意如果 dxdydx\ne dy,数对 (dx,dy)(dx,dy)(dy,dx)(dy,dx) 被视作不同的数对。

帮助 Misha 用最小的总代价把机器人移动到 (0,0)(0,0)。注意你不需要最小化操作次数。

输入格式

多组数据。第一行一个整数 t(1t104)t(1\le t\le 10^4),表示数据组数。

对于每组数据,一行三个整数 a,b,k(1a,b,k1018)a,b,k(1\le a,b,k\le 10^{18})

输出格式

对于每组数据,输出一行一个整数,表示把机器人移动到格子 (0,0)(0,0) 需要的最小总花费。

说明/提示

样例解释

对于第一组数据,可以执行一次操作 (3,5)(3,5)。机器人立即移动到 (0,0)(0,0),总花费为 11

对于第二组数据,可以执行操作 (1,1),(0,1),(1,1)(1,1),(0,1),(1,1)。第一次操作后机器人位于 (1,2)(1,2),第二次后位于 (1,1)(1,1),第三次后位于 (0,0)(0,0)。第一次和第二次操作的花费都是 11,第三次操作的花费为 00,因为 (1,1)(1,1) 在第一次操作时已被选用过。

对于第三组数据,可以连续使用三次操作 (4,6)(4,6)

对于第四组数据,可以使用操作 (4,2),(5,5)(4,2),(5,5)

样例

4
3 5 15
2 3 1
12 18 8
9 7 5
1
2
1
2

在线编程 IDE

建议全屏模式获得最佳体验