- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
一辆汽车以每秒 v 米的速度从 A 点移动到 B 点。 Action 发生在 X 轴上。在距离 A 米 d 处有红绿灯。从时间 0 开始,前 g 秒绿灯亮,接下来的 r 秒红灯亮,然后绿灯再次亮 g 秒,依此类推。
汽车可以立即从 0 加速到 v,反之亦然,可以立即从 v 减速到 0。假设它在绿灯时立即通过交通信号灯。如果汽车在红灯刚亮的瞬间接近红绿灯,它就来不及通过。但是如果它在绿灯刚亮的瞬间接近红绿灯,它就可以移动了。汽车在 0 时刻离开 A 点。
在不违反交通规则的情况下,汽车从 A 点到达 B 点的最短时间是多少?
输入 整数 l, d, v, g, r (1 ≤⟩l,⟩d,⟩v,⟩g,⟩r⟩≤⟩1000,⟩d⟩<⟩l) — A 和 B 之间的距离(以米为单位),从 A 到红绿灯的距离,车速、绿灯时长、红灯时长。
解决方案
if(g*v>d)
ans = l/v // i got it
else
ceil(d/v/g+r)*(g+r)+(l-d)/v // i am not getting Please help
例子->假设 l=5 ,d=4,v=1,g=2 ,r=1
在 t=0 时,汽车从 $A $ 开始
在 t=2 时,灯变成红色,但汽车离灯很远,所以继续行驶没问题
在 t=3 时,灯再次变绿 $2$ 秒(直到 $t=5$)
在 t=4 时,灯仍然是绿色的,我们在灯亮时到达
注意->我们已经过了红绿灯别担心
在 t=5 时,我们到达 B 点
但正确的 ans = 7 这不是我做错的最小值?
上面的方法被一个红色程序员使用,我也在下面包括了他的解决方案链接。
请帮助我很难过,我正试图从 3 天开始找到正确的逻辑。
在这里,你们是我最后的希望。
问题链接problem b
Accepted solution link of red coder
注意-> 上面接受的解决方案给出了 7 作为输出,但我认为它应该是 5。所以这不会错,因为 codeforces 接受了它。
最佳答案
是的,你是对的,答案应该是 5。
条件g * v > d
没有任何意义。它只是检查您是否可以在第一个绿灯阶段通过红绿灯。其实应该是((d + v - 1) / v) % (g + r) < g
.首先我们用 (d + v - 1) / v
计算我们在哪一秒通过红绿灯(整数除法)与 ceil(d / v)
相同如果我们使用 float 。然后用模数计算我们在绿色红色循环中通过交通信号灯的位置。如果结果是< g
当它是绿色的时候我们通过了它,解决方案是(double)l / v
.
您可以使用与上述模数相同的技术来获得我们必须在红绿灯处 parking 的秒数,然后加上从开始到红绿灯的时间(整秒)和从红绿灯开始的时间到目的地。或者我们可以计算经过红绿灯时到绿红循环结束所需的秒数。这就是您所做的,但是缺少大括号,因此对于 float ,我们可以使用带有附加大括号的公式:
ceil(d / v / (g + r)) * (g + r) + (l - d) / v
.
关于algorithm - 模块化算术难题 codeforces,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55829543/
我有以下代码。 对于以下输入,CodeBlocks 输出NO,但 Codeforces 输出YES? 对于以下输入: 1500 1500 1500 1 2 3,正确的输出是NO(在 CodeBlock
我需要帮助解决问题 problem c ,虽然我有一个解决方案但是我想问如果我们想把糖果减到最少在分配了这些 ans += b[i] * M 糖果之后,我们现在可以说这是最小数量。但在那之后我们又在这
一辆汽车以每秒 v 米的速度从 A 点移动到 B 点。 Action 发生在 X 轴上。在距离 A 米 d 处有红绿灯。从时间 0 开始,前 g 秒绿灯亮,接下来的 r 秒红灯亮,然后绿灯再次亮 g
我正在尝试解决这个问题: http://codeforces.com/contest/664/problem/B 这是我的代码:http://ideone.com/fWgQEn 我在测试用例 5 上遇
我是 codeforces 的初学者。我被困在 problem 474 A我在哪里收到运行时错误。但我无可挑剔。我使用 C。这是我的代码: #include int main() { int
我试图在 codeforces 上解决这个问题 http://codeforces.com/contest/686/problem/D ,但我得了 TLE。你能告诉我什么在我的解决方案中花费了这么多时
我的代码: #include #include #include int main(int argc, char *argv[]) { long long n = atoi(argv[1])
我正在尝试完成有关 codeforces 的低级问题,但即使我的解决方案通过了测试,它仍然会注册为错误。它一直说“错误的输出格式意外的文件结束 - int32 预期”。这是什么意思?问题可以在http
如果满足以下条件,我们称 n 个顶点的无向图为 p-interesting: 该图恰好包含 2n⟩+⟩p 条边; 该图不包含自环和多条边; 对于任意整数k (1 ≤⟩k ≤⟩n),任何由k个顶点组成的
我正在尝试解决problem 1A on codeforces 但我不断收到测试:#1,时间:0 毫秒,内存:1828 KB,退出代码:1,检查器退出代码:0,结论:RUNTIME_ERROR你可以查
使用下面的链接 http://codeforces.com/problemset/problem/556/B 下面的代码使用 GNU C++11 编译器并且该代码运行良好但我不知道它是如何工作的? #
如果用户输入C、Y、M中的任何一个,我的代码就会打印#Color > 字符。但是如果用户输入了W、B、G,那么程序应该打印出#Black&White。不幸的是,我的代码跳过了我的第一个 for 循环并
我试图在 codeforces 中做第一个问题只是为了熟悉它。当我在我的 Ipython 笔记本上尝试时它会给出结果,但当我将它上传到 codeforces 时总是会出现运行时错误。谁能帮忙? Pro
链接到问题:https://codeforces.com/problemset/problem/166/E 问题陈述: *您被赋予四面体。让我们分别用字母A,B,C和D标记其顶点。 一只 Ant 站在
这是 Codeforces problem 的 C++ 代码我正在尝试解决: #include using namespace std; int main() { int n = -1;
我读过这篇社论,但它很短,并且声称我不明白为什么它是真的。为什么等同于求1*2*1*2*的最长子序列?有人可以逐步解释解决方案并在每一步证明 claim 的合理性吗? http://codeforce
我刚刚学习了 Dijkstra 算法并解决了一些问题,我正在尝试解决这个问题 http://codeforces.com/problemset/problem/20/C问题,但我在一个大型测试用例中遇
这是我找到的 CodeForces 问题 919B - Perfect Number 的解决方案。我在技术上理解它在做什么,但我想了解它背后的“直觉”或想法/方法。 int main(){ i
Codeforces 671 Div 1 C(数组的终极怪异) Let vi be b1, b2, b3...bk. Note that our l - r must be cover at leas
Click here to view the problem. 我无法找到比 O(n^2) 更好的解决方案,但是当 n<=500000 时,这是行不通的! 我的想法是按(美貌+智力+丰富)对它们进行排
我是一名优秀的程序员,十分优秀!