《新年趣事之债务—题解》

在HNSDFZ的信息组里,Vivian Snow、Charles和Sunnypig之间有着一种奇怪的债务关系:Vivian Snow欠了Charles一百块钱,Charles欠了Sunnypig一百块钱,Sunnypig欠了Vivian Snow一百块钱。

 一天,三个人遇到了一起。由于他们都不够理智,一心想要回自己借出去的钱,于是互相之间追逐起来。最初,三个人分别站在一个边长为L正三角形的三个顶点上。某一个时刻,三个人同时开始以速度V匀速运动。他们运动的方向是这样的:每一个时刻,Vivian Snow运动的方向指向Sunnypig,Sunnypig运动的方向指向Charles,Charles运动的方向指向Vivian Snow,总之,每一个时刻,三个人都在尽快的接近各自欠自己债的人。最终,三个人都到达了同一个点上,并且通过和谈的方式解决了这一冲突。
Xiaomengxian知道此事后,想写一篇报道,宣传这件事情。他想知道每个人走的路程的长度S,以及他们到达同一个点所需要的时间T。

Input Format

输入文件有两行。
第一行为一个实数L(0<=L<=1E100)。
第二行为一个实数V(0<=V<=1E100)。

Output Format

输出文件有两行。
第一行为一个实数S,保留一位小数。
第二行为一个实数T,保留一位小数。

输入数据 1


13.05
0.56

输出数据 1


8.7
15.5

Hint

所有单位均为国际标准单位。
Just For Fun :)

题目到此为止:———————————————————————————————————————————

不会吧不会吧,这么简单的题都过不了?!

唉算了就讲一下吧,我相信浏览这篇文章的有一大半都是从铁一的OJ里这道题的题解进来的,是的话评论区敲个1

14514(doge)。

先上代码:

#include<iostream>
#include <iomanip>

using namespace std;

int main(int argc, char* argv[])
{
    double l, v, s, t;
    
    cin >> l >> v;
    t = 2 * l / 3 / v;
    S = v * t;
    cout << setiosflags(ios::fixed) << setprecision(1) << S <<endl; //保留一位小数
    cout << setiosflags(ios::fixed) << setprecision(1) << T <<endl; //保留一位小数
    
    system("pause");
    return 0;
}

时间复杂度:O(1);
空间复杂度:O(1);

解释一下这一大段代码是怎么回事:

s = l/sqrt(3);

v = vcos30';

t = s/v = 2l/3v;

这三行是关键。

位移=时间*平均速度。

这是一个运动学公式,看不懂的可以去补习/预习下物理。

三人最终在正三角形的中心相遇。因为三人的速率没有变化,所以平均速度和平均速率大小一模一样。
将随便一个人的速度分解到指向中心方向为v = vcos30',位移为顶点到中心的距离,即s = L/sqrt(3)。
所以时间为t = s/v = 2l/3v;路程为s=vt。  

注意,速率和速度可不是一个东西哦!

OK,这就是上述代码的核心思想的讲解了。

题解千万条,点赞第一条。
看完不点赞,作者两行泪。
看到这的应该知道要干啥了吧。

本文到此结束。

END

最后水点字数:SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值