龟兔赛跑预测

时间限制: 1Sec 内存限制: 128MB 提交: 3055 解决: 818

**题目描述**
```
话说这个世界上有各种各样的兔子和乌龟，但是  研究发现，所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛，小华对此很感兴趣，于是决定研究不同兔  子和乌龟的赛跑。他发现，兔子虽然跑比乌龟快，但它们有众所周知的毛病——骄傲且懒惰，于是在与乌龟的比赛中，一旦任一秒结束后兔子发现自己领先t米或以  上，它们就会停下来休息s秒。对于不同的兔子，t，s的数值是不同的，但是所有的乌龟却是一致——它们不到终点决不停止。

然而有些比赛相当漫长，全程观看会耗费大量时间，而小华发现只要在每场比赛开始后记录下兔子和乌龟的数据——兔子的速度v1（表示每秒兔子能跑v1  米），乌龟的速度v2，以及兔子对应的t，s值，以及赛道的长度l——就能预测出比赛的结果。但是小华很懒，不想通过手工计算推测出比赛的结果，于是他找  到了你——清华大学计算机系的高才生——请求帮助，请你写一个程序，对于输入的一场比赛的数据v1，v2，t，s，l，预测该场比赛的结果。
```
**输入**

- 输入只有一行，包含用空格隔开的五个正整数v1，v2，t，s，l，其中(v1,v2< =100;t< =300;s< =10;l< =10000且为v1,v2的公倍数) 

**输出**

- 输出包含两行，第一行输出比赛结果——一个大写字母“T”或“R”或“D”，分别表示乌龟获胜，兔子获胜，或者两者同时到达终点。 

- 第二行输出一个正整数，表示获胜者（或者双方同时）到达终点所耗费的时间（秒数）。 

**样例输入**
```
10 5 5 2 20
```
**样例输出**
```
D
4
```


```
# v1,v2,t,s,l=map(int ,input().split())

# l1=0
# l2=0
# l1time=0
# l2time=0
# while True:
#     dettime=(t-l1+l2)/(v1-v2)
#     #print('dettime',dettime)
#     detl1=dettime*v1
#     #print('detl1',detl1)
#     detl2=dettime*v2
#     #print('detl2',detl2)
#     if l1+detl1>=l or l2+detl2>=l:
#         l1time+=(l-l1)/v1
#         l2time+=(l-l2)/v2
#         if l1time>l2time:
#             print('T')
#             print(int(l2time))
#             print('l2',l2)
#             break
#         elif l1time==l2time:
#             print('D')
#             print(int(l1time))
#             break
#         else:
#             print('R')
#             print(int(l1time))
#             break
#     else:
#         l1+=detl1
#         if l2+detl2+s*v2>l:
#             print('T')
#             l2time+=dettime+(l-(l2+detl2))/v2
#             #print(int(l2time))
#         l2+=detl2+s*v2
#         l1time+=dettime+s
#         l2time+=dettime+s
        
```

    25 10 20 3 100
    dettime 1.3333333333333333
    detl1 33.33333333333333
    detl2 13.333333333333332
    dettime 2.0
    detl1 50.0
    detl2 20.0
    dettime 2.0
    detl1 50.0
    detl2 20.0
    R
    9



```
import math
v1,v2,t,s,l=map(int,input().split())
l1=0
l2=0
l1_time=0
l2_time=0
while True:
    if l1-l2>=t:
        l2+=v2*s
        l1_time+=s
        l2_time+=s
    dt1=l1_time+(l-l1)/v1
    dt2=l2_time+(l-l2)/v2
    l1+=v1
    l2+=v2
    l1_time+=1
    l2_time+=1
    if l1>=l or l2>=l:
        if dt1>dt2:
            print('T')
            print(math.ceil(dt2))
            break
        elif dt1==dt2:
            print('D')
            print(math.ceil(dt2))
            break
        else:
            print('R')
            print(math.ceil(dt1))
            break
```

    10 5 5 2 20
    D
    4



```
import math
v1,v2,t,s,l=map(int ,input().split())
l1=0
l2=0
l1time=0
l2time=0
while True:
    if l1-l2>=t:
        l2+=s*v2
        l1time+=s
        l2time+=s
    dt1=l1time+(l-l1)/v1
    dt2=l2time+(l-l2)/v2
    l1+=v1
    l2+=v2
    l1time+=1
    l2time+=1
    if l1>=l or l2>=l:
#         if l1>l2:
#             print('R')
#             print(l1time)
#             break
#         elif l1==l2:
#             print('D')
#             print(l1time)
#             break
#         else:
#             print('T')
#             print(l2time)
#             break
        if dt1>dt2:
            print('T')
            print(math.ceil(dt2))
            #print('l2',l2)
            break
        elif dt1==dt2:
            print('D')
            print(math.ceil(dt1))
            break
        else:
            print('R')
            print(math.ceil(dt1))
            break

```

    83 37 193 8 9213
    R
    247
