P13268 [GCJ 2014 Finals] Allergy Testing

题目描述

Kelly 对某种食物过敏,但她不确定是哪一种。在她面前有 $\mathrm{N}$ 种不同的食物,而她恰好只对其中一种过敏。为了找出是哪一种,她决定进行一系列实验。 在每次实验中,Kelly 会选择若干种食物一起食用。然后她会等待 $\mathrm{A}$ 天,以观察自己是否会出现过敏反应: - 如果没有反应,她就可以确定自己**不对**这些食物中的任意一种过敏; - 如果出现了反应,她就必须等待反应完全消退,整个过程总共需要 $\mathrm{B}$ 天(从食用食物的那一刻算起)。 为简化实验安排,Kelly 决定:**每次实验必须在上一次实验完全结束(无论是等待 $\mathrm{A}$ 天或 $\mathrm{B}$ 天)后才能进行**。 在每次实验开始前,Kelly 可以根据之前实验的结果自由选择这一次要食用的食物集合。 她希望设计一套实验策略,在最坏情况下,也能尽可能快地确定自己对哪一种食物过敏。 请你计算:在最坏情况下,Kelly 最少需要多少天才能确定她对哪一种食物过敏?

输入格式

第一行是测试用例个数 $\mathrm{T}$。接下来是 $\mathrm{T}$ 个测试用例。 每个测试用例占一行,包含三个用空格分隔的整数 $\mathrm{N}, \mathrm{A}, \mathrm{B}$,分别表示食物总数、无过敏反应等待天数、以及有过敏反应时总的等待天数。

输出格式

对于每个测试用例,输出一行,格式为 `"Case #x: y"`,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是 Kelly 在最坏情况下确定过敏源所需的总天数。

说明/提示

在第一个样例中: - 第一次实验:吃食物 #1 和 #2; - 如果 5 天后无反应,则进行第二次实验,吃食物 #3; - 再等 5 天后,如果无反应,则说明过敏的是食物 #4; - 如果有反应,则在第 10 天得知自己过敏于食物 #3; - 如果第一次实验后出现过敏反应,那么在第 7 天(反应消退)后进行第二次实验,吃食物 #1; - 再过 5 天,无反应说明是食物 #2 过敏,有反应说明是食物 #1; - 因此,最坏情况下是第 12 天得出结论。 ## 限制条件 - $1 \leq T \leq 200$ ### Small 数据集(15 分) - 时间限制:~~60~~ 3 秒 - $1 \leq N \leq 10^{15}$ - $1 \leq A \leq B \leq 100$ ### Large 数据集(35 分) - 时间限制:~~120~~ 5 秒 - $1 \leq N \leq 10^{15}$ - $1 \leq A \leq B \leq 10^{12}$ 翻译由 ChatGPT-4o 完成