P1072新年趣事之債務解題報告

2021-04-23 09:06:28 字數 1716 閱讀 3891

name: p1072新年趣事之債務

author: goal00001111

18-12-08 12:15

description:     

背景 background      

在hnsdfz的資訊組裡,vivian snow、charles和sunnypig之間有著一種奇怪的債務關係:vivian snow欠了charles一百塊錢,charles欠了sunnypig一百塊錢,sunnypig欠了vivian snow一百塊錢。

描述 description     

一天,三個人遇到了一起。由於他們都不夠理智,一心想要回自己借出去的錢,於是互相之間追逐起來。最初,三個人分別站在乙個邊長為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,保留一位小數。

樣例輸入 sample input     

13.05

0.56

樣例輸出 sample output     

8.7

15.5

題目分析:

本題看似很難,因為三人的運動方向時刻變化。似乎可以利用數學函式和極限的思想來解,但是我不會。

所幸我學了物理,恰好又懂得點向量的分解原理,速度是向量,根據運動學公式:位移=平均速度*時間。

三人最終相聚於正三角形的中心。由於三人的速率不變,所以平均速度和平均速率大小相等。

將某人的速度分解到指向中心方向為v = vcos30',位移為頂點到中心的距離,即s = l/sqrt(3)。

所以時間為t = s/v = 2l/3v;路程為s=vt。  

說明:

演算法思想:速度分解和運動學原理。

資料結構:基本資料型別。

時間複雜度:o(1);

空間複雜度:o(1);

程式語言:分別用c++和pascal實現。

附註:不懂速度分解和運動學公式的去看看高中物理書吧。

c++**:

#include

#include

using namespace std;

int main(int argc, char* argv)

pascal**:

program p1072 (input, output);

varl, v, s, t : real;

begin

read(l);

read(v);

t := 2 * l / 3 / v;

s := v * t;

writeln(s:1:1);

writeln(t:1:1);

end.

P1072新年趣事之債務

題目背景 在hnsdfz的資訊組裡,vivian snow charles和sunnypig之間有著一種奇怪的債務關係 vivian snow欠了charles一百塊錢,charles欠了sunnypig一百塊錢,sunnypig欠了vivian snow一百塊錢。問題描述 一天,三個人遇到了一起。...

vijos1072 新年趣事之債務

題目背景 在hnsdfz的資訊組裡,vivian snow charles和sunnypig之間有著一種奇怪的債務關係 vivian snow欠了charles一百塊錢,charles欠了sunnypig一百塊錢,sunnypig欠了vivian snow一百塊錢。問題描述 一天,三個人遇到了一起。...

Vijos 1072題 新年趣事之債務

在hnsdfz的資訊組裡,vivian snow charles和sunnypig之間有著一種奇怪的債務關係 vivian snow欠了charles一百塊錢,charles欠了sunnypig一百塊錢,sunnypig欠了vivian snow一百塊錢。一天,三個人遇到了一起。由於他們都不夠理智,...