题目描述
小 Q 喜欢站在马路边发呆。
这天,小 Q 注意起了十字路口的红绿灯,他发现这个红绿灯总是先绿
a 秒,再变成红
b 秒,然后再变绿
a 秒,变红
b 秒,不断循环。小 Q 在红绿灯刚刚变绿的时候开始观察,持续了
c 秒。
请你求出,这
c 秒中,有多少时间红绿灯是绿的。
输入格式
一行三个整数
a
,
b
,
c,含义如上。
输出格式
一行一个整数
x ,表示红绿灯一共绿了
x 秒。
样例
Input 1
2 1 10
Output 1
7
提示
对于 100% 的数据, 1≤a,b,c≤1000000000
子任务一(30 分):
c
≤
a
子任务二(30 分):
a
,
b
,
c
≤
1000000
子任务三(40 分):无附加限制
代码思路:
这是一道比较简单的题目,一个绿灯和一个红灯为一个周期,一个周期的时间为
a
+
b。
所以红绿灯一共绿了
c
/
(
a
+
b
)
∗
a
+
min
(
c
%
(
a
+
b
)
,a
)秒。
AC code:
1 2 3 4 5 6 7 8 9 10 11 | #include <iostream> using namespace std; int main() { long long a,b,c; cin >> a >> b >> c; long long t = c / (a + b); cout << (t * a) + min(c % (a + b),a) << endl; return 0; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人