线性变换

Luogu
IDLGP10252
Time1000ms
Memory512MB
DifficultyP3
数学洛谷原创O2优化洛谷月赛分类讨论
你有三个非负整数 $x,a,b$。在 $x \ge 0$ 的前提下,你可以对 $x$ 进行任意次(包括 $0$ 次)如下操作: * 将 $x$ 变为 $ax - b$。 你需要求出你通过操作能得到的 $x$ 的最小值。 ## Input **本题有多组数据。** 第一行一个整数 $T$,表示数据组数。 对于每组数据,输入一行三个整数 $x,a,b$。 ## Output 对于每组数据,输出一行一个整数表示答案。 [samples] ## Note 样例解释:对于第一组数据,有 $x=6 \rightarrow 8 \rightarrow 12 \rightarrow \cdots$,很明显 $x=6$ 就是最小值。 对于第二组数据,有 $x=5\rightarrow -1$,$x=-1$ 为最小值。 ---- 对于 $30\%$ 的数据,$T \le 5$,$x,a,b \le 100$。 对于另 $20\%$ 的数据,$a \gt b$。 对于另 $20\%$ 的数据,$b=0$。 对于 $100\%$ 的数据,$1 \le T \le 1000$,$0 \le x,a,b \le 10^{9}$。
Samples
Input #1
2
6 2 4
5 3 16
Output #1
6
-1
API Response (JSON)
{
  "problem": {
    "name": "线性变换",
    "description": {
      "content": "你有三个非负整数 $x,a,b$。在 $x \\ge 0$ 的前提下,你可以对 $x$ 进行任意次(包括 $0$ 次)如下操作: * 将 $x$ 变为 $ax - b$。 你需要求出你通过操作能得到的 $x$ 的最小值。",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P3"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP10252"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "你有三个非负整数 $x,a,b$。在 $x \\ge 0$ 的前提下,你可以对 $x$ 进行任意次(包括 $0$ 次)如下操作:\n\n* 将 $x$ 变为 $ax - b$。\n\n你需要求出你通过操作能得到的 $x$ 的最小值。\n\n## Input\n\n**本题有多组数据。**\n\n第一行一个整数 $T$,表示数据组数。\n\n对于每组数据,输入一行三个整数 $x,a,b$。\n\n## Output\n\n对于每组数...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments