AT_agc063_f.[AGC063F] Simultaneous Floor

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定两个非负整数对 a=(a1,a2)a = (a_1, a_2),b=(b1,b2)b = (b_1, b_2)。你可以对 aa 进行如下操作任意次(也可以不进行操作):

  • 操作:选择一个正实数 xx,将 a=(a1,a2)a = (a_1, a_2) 替换为 (⌊a1x⌋,⌊a2x⌋)(\lfloor a_1 x \rfloor, \lfloor a_2 x \rfloor)。

你的目标是使得 aa 和 bb 相等。请判断是否有可能达成目标。如果可能,请求出所需操作次数的最小值。

有 TT 组测试数据,请分别给出每组的答案。

输入格式

输入通过标准输入给出,格式如下:

TT
case1\text{case}_1
⋮\vdots
caseT\text{case}_T

每组测试数据格式如下:

a1 a2 b1 b2a_1\ a_2\ b_1\ b_2

输出格式

请输出 TT 行,第 ii 行输出第 ii 组测试数据的答案。如果无法使 aa 等于 bb,输出 -1;如果可以,请输出所需操作次数的最小值。

输入输出样例

  • 输入#1

    7
    2 3 1 1
    1 1 2 3
    3 2 9 8
    12 34 56 78
    56 78 12 34
    87 65 43 21
    43 21 87 65

    输出#1

    1
    -1
    3
    -1
    4
    2
    -1
  • 输入#2

    9
    5 5 5 5
    5 5 3 3
    3 9 0 2
    3 9 0 3
    0 3 3 9
    3 0 2 0
    5 2 0 0
    0 0 5 2
    0 0 0 0

    输出#2

    0
    1
    1
    2
    -1
    1
    1
    -1
    0

说明/提示

限制

  • 1≤T≤1051 \leq T \leq 10^5
  • 0≤a1,a2,b1,b2≤1090 \leq a_1, a_2, b_1, b_2 \leq 10^9

样例解释 1

对于第 11 组测试数据,最优方案之一如下:

  • 初始时,a=(2,3)a = (2, 3)。
  • 选择 x=0.6x = 0.6 进行操作,aa 变为 (⌊1.2⌋,⌊1.8⌋)=(1,1)(\lfloor 1.2 \rfloor, \lfloor 1.8 \rfloor) = (1, 1)。

对于第 33 组测试数据,最优方案之一如下:

  • 初始时,a=(3,2)a = (3, 2)。
  • 选择 x=1.5x = 1.5 进行操作,aa 变为 (4,3)(4, 3)。
  • 选择 x=1.7x = 1.7 进行操作,aa 变为 (6,5)(6, 5)。
  • 选择 x=1.6x = 1.6 进行操作,aa 变为 (9,8)(9, 8)。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页