A4551 | 纪元流星雨
来源官方 / 2024
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
"The view's not so good from inside the city, though… "
"Next time, then. I know a place where you can see them more clearly. I'll take you there in fifty years."

Era 流星雨每隔 $50$ 年发生一次。如果某人出生在 $B$ 年前,寿命为 $L$ 年,且下一次流星雨将在 $E$ 年后发生,问此人在有生之年可以看到几次埃拉流星雨?需要包括出生年和去世年发生的流星雨。
Problem Credits: Macw07。
输入格式
第一行包含一个整数 $T$,表示测试数据组的数量。
对于每组测试数据,输入一行包含三个整数 $B$、$L$ 和 $E$,它们的含义分别是:
- $B$ 表示这个人出生在 $B$ 年前。
- $L$ 表示这个人的寿命。
- $E$ 表示距离下一次 Era 流星雨还有 $E$ 年。
对于每组测试数据,输入一行包含三个整数 $B$、$L$ 和 $E$,它们的含义分别是:
- $B$ 表示这个人出生在 $B$ 年前。
- $L$ 表示这个人的寿命。
- $E$ 表示距离下一次 Era 流星雨还有 $E$ 年。
输出格式
对于每组测试数据,输出一个整数,表示这个人在有生之年能够看到的 Era 流星雨的次数。
输入输出样例
输入 #1
5 20 200 10 80 170 40 100 20 5 40 100 10 15 20 30
输出 #1
4 4 1 3 0
数据范围与约定:
对于 $100\%$ 的数据,满足:
- $1 \leq T \leq 100$
- $0 \leq E \leq 49$
- $1 \leq B \leq 10^8$
- $20 \leq L \leq 10^8$
样例解释:
1. 对于测试用例\#1,这个人出生于 $B = 20$ 年前,并且总共会活 $L = 200$ 年,或者说再活 $180$ 年。由于下一次 Era 流星雨将在 $E = 10$ 年后发生,上一次 Era 流星雨发生在 $40$ 年前,也就是在他出生之前。在他的一生中,他将会看到他的第一次 Era 流星雨在 $10$ 年后,第二次在 $60$ 年后,第三次在 $110$ 年后,第四次在 $160$ 年后。
2. 对于测试用例\#2,这个人出生于 $B = 80$ 年前,并且总共会活 $L = 170$ 年。下一次 Era 流星雨将在 $E = 40$ 年后发生,因此他已经看到过两次 Era 流星雨,分别是在 $10$ 年前和 $60$ 年前。在他的一生中,他还会看到两次 Era 流星雨,一次是在 $40$ 年后,另一次是在 $90$ 年后。
3. 对于测试用例\#3,这个人出生于 $B = 100$ 年前,并且活了 $L = 20$ 年。由于下一次 Era 流星雨将在 $E = 5$ 年后发生,我们知道他在生前只看到过一次 Era 流星雨,那是在 $95$ 年前。
4. 对于测试用例\#4,这个人出生于 $B = 40$ 年前,并且总共会活 $L = 100$ 年。由于下一次 Era 流星雨将在 $E = 10$ 年后发生,我们知道他将在一生中看到三次流星雨:一次是在他出生的那一年($40$ 年前),一次是在 $10$ 年后,另一次是在他去世时的 $60$ 年后。
5. 对于测试用例\#5,下一次 Era 流星雨将在 $E = 30$ 年后发生,而上一次 Era 流星雨是在 $20$ 年前发生的。由于这个人出生于 $B = 15$ 年前,并且总共会活 $L = 20$ 年,他一生中将永远不会看到任何 Era 流星雨。
对于 $100\%$ 的数据,满足:
- $1 \leq T \leq 100$
- $0 \leq E \leq 49$
- $1 \leq B \leq 10^8$
- $20 \leq L \leq 10^8$
样例解释:
1. 对于测试用例\#1,这个人出生于 $B = 20$ 年前,并且总共会活 $L = 200$ 年,或者说再活 $180$ 年。由于下一次 Era 流星雨将在 $E = 10$ 年后发生,上一次 Era 流星雨发生在 $40$ 年前,也就是在他出生之前。在他的一生中,他将会看到他的第一次 Era 流星雨在 $10$ 年后,第二次在 $60$ 年后,第三次在 $110$ 年后,第四次在 $160$ 年后。
2. 对于测试用例\#2,这个人出生于 $B = 80$ 年前,并且总共会活 $L = 170$ 年。下一次 Era 流星雨将在 $E = 40$ 年后发生,因此他已经看到过两次 Era 流星雨,分别是在 $10$ 年前和 $60$ 年前。在他的一生中,他还会看到两次 Era 流星雨,一次是在 $40$ 年后,另一次是在 $90$ 年后。
3. 对于测试用例\#3,这个人出生于 $B = 100$ 年前,并且活了 $L = 20$ 年。由于下一次 Era 流星雨将在 $E = 5$ 年后发生,我们知道他在生前只看到过一次 Era 流星雨,那是在 $95$ 年前。
4. 对于测试用例\#4,这个人出生于 $B = 40$ 年前,并且总共会活 $L = 100$ 年。由于下一次 Era 流星雨将在 $E = 10$ 年后发生,我们知道他将在一生中看到三次流星雨:一次是在他出生的那一年($40$ 年前),一次是在 $10$ 年后,另一次是在他去世时的 $60$ 年后。
5. 对于测试用例\#5,下一次 Era 流星雨将在 $E = 30$ 年后发生,而上一次 Era 流星雨是在 $20$ 年前发生的。由于这个人出生于 $B = 15$ 年前,并且总共会活 $L = 20$ 年,他一生中将永远不会看到任何 Era 流星雨。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?