hdoj-2059-Turtle and Rabbit Race "DP"

Source: Internet
Author: User

Turtle and Rabbit RaceTime limit:1000/1000 MS (java/others) Memory limit:32768/32768 K (java/others)
Total submission (s): 13628 Accepted Submission (s): 5097


Problem description said in a long long time ago, poor rabbit experienced the biggest blow in life-the race lost to the turtle, heart depressed, vowed to avenge, so hid in the Hangzhou Xiasha Agricultural Park hardships painstaking cultivation, and finally practiced into a stunt, can not rest to a constant speed (VR/m) keeps running. The rabbit has been trying to find a chance to teach the turtle a shame before the snow.
Recently, HDU held the 50 anniversary celebration, the society's major celebrities gathered under the sand, the rabbit took the opportunity to challenge the turtle. Although the tortoise knew that the victory hope is not big, but under the pressure of public opinion, can accept the challenge.
The game is set on a straight road, the length of l meters, the rules are simple, who first reached the end of the victory.
Helpless turtle since the last victory, became a famous turtle, by some gossip magazine called "Animal Kingdom Liu Xiang", advertising constantly, at hand also has a lot of savings. In order to win the rabbit again, the turtle spent the most money to buy the most advanced weapons-"small Flying pigeon" brand electric vehicles. This car in the case of electricity can be VT1 m/s Speed "flying", but unfortunately the battery capacity is limited, each full of electricity can only travel the distance of C meters, after the foot to pedal, the turtle with the pedal speed of VT2 m/s. What's more, the turtle actually built many (n) power stations on the runway for the electric car to recharge. Where each charge takes a T-second time. Of course, turtles can choose to go or not recharge when they pass a charging station.
The game began immediately, and the hare and the tortoise with the electric electric car were standing at the starting line. Your task is to write a program, judge the turtle with the best plan to March, can win the constant speed of running rabbits.
Input This topic contains multiple sets of tests, please handle to the end of the file. Each test consists of four rows:
The first line is a whole number L represents the total length of the runway
The second line contains three integer n,c,t, which indicates the number of charging stations, the distance the electric vehicle can travel after it has been flushed, and the time it takes to recharge each charge.
The third line is also three integer vr,vt1,vt2, respectively, indicating the speed of the rabbit running, turtle driving the speed of electric cars, turtle pedal electric car speed
The four lines contain N (n<=100) integer p1,p2...pn, respectively, representing the distance from the starting point of each charging station, where 0<p1<p2<...<pn<l
Each of these numbers is within the 32-bit integer range.

Output when a turtle is likely to win, export a line of "What a pity rabbit!". Otherwise the output line "good job,rabbit!";
The problem data ensures that turtles and rabbits do not arrive at the same time.
Sample Input
1003 20 55 8 210 40 601003 60 55 8 210 40 60

Sample Output
Good job,rabbit! What a pity rabbit!

Authorlinle
Source Celebration Cup warm up
Recommendlinle | We have carefully selected several similar problems for you:1160 1024 1074 1081 1158

DP "I" is the optimal strategy for reaching the first I charging station, and another assumption is that there are n+2 charging stations, 0, 1, ... N, n+1; Assuming that there is a charging station in both the origin and the end, then DP "I" =DP "J" + t (j,i);wherein: J<0,I-1>, t (j,i) refers to the time taken to reach the I charging station from the J charging station (which will not recharge in the process), that is to say that at the J charging station, the charge is charged once, and then the movement to I;
#include <stdio.h> #include <string.h>const double inf=0xfffff;double dp[110];//dp[i]: Minimum time to reach the first charging station; int< C0/>P[110];d ouble min (double a,double b) {return a<b?a:b;} int main () {int l;while (~scanf ("%d", &l)) {int I,j,n;int c,t,vr,vt1,vt2;scanf ("%d%d%d", &n,&c,&t); scanf ("%d%d%d", &vr,&vt1,&vt2); for (i=1;i<=n;++i) {scanf ("%d", &p[i]);} P[n+1]=l;p[0]=0;dp[0]=0;double dis,ti_j;for (i=1;i<=n+1;++i) {    dp[i]= inf;for (j=0;j<i;++j) {Dis=p[i]-p[j] ; if (dis>c) ti_j= 1.0*c/vt1+1.0* (dis-c)/vt2;else ti_j= 1.0*dis/vt1;if (j>0) ti_j+=t;dp[i]=min (Dp[j]+ti_j,dp[i]) ;}} if (DP[N+1]<1.0*L/VR) printf ("What a Pity rabbit!\n"), Else printf ("Good job,rabbit!\n");} return 0;}


Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.

hdoj-2059-Turtle and Rabbit Race "DP"

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.