HDU 5417 Victor and Machine

題目連接:http://acm.hdu.edu.cn/showproblem.php?pid=5417php

Problem Description
Victor has a machine. When the machine starts up, it will pop out a ball immediately. After that, the machine will pop out a ball every  w seconds. However, the machine has some flaws, every time after x seconds of process the machine has to turn off for y seconds for maintenance work. At the second the machine will be shut down, it may pop out a ball. And while it's off, the machine will pop out no ball before the machine restart.

Now, at the 0 second, the machine opens for the first time. Victor wants to know when the n-th ball will be popped out. Could you tell him?
 

 

Input
The input contains several test cases, at most  100 cases.

Each line has four integers xyw and n. Their meanings are shown above。

1x,y,w,n100.
 

 

Output
For each test case, you should output a line contains a number indicates the time when the  n-th ball will be popped out.
 

 

Sample Input
2 3 3 3
98 76 54 32
10 9 8 100
 

 

Sample Output
10
2664
939
題意:
Victor有一個機器,這個機器每次開啓的瞬間會彈出一個小球,以後每隔ww秒會彈出一個小球。由於機器不是很完善,該機器每開啓xx秒就得關閉yy秒進行調整,在機器關閉的瞬間可能會有小球彈出,關閉以後一直到下一次開啓以前都不會有小球彈出。 00時刻,機器第一次開啓,Victor想要知道第nn個小球彈出的時刻,你可以告訴他嗎?
大水題,模擬。
 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int n,w,x,y;
 7     while (cin>>x>>y>>w>>n)
 8     {
 9           int t=0,tt=0;//tt記錄離剛開機多長時間 
10           n--;
11           while (n>0)
12           {
13                 tt+=w;
14                 if (tt<x)
15                 {
16                          n--;
17                          t+=w;
18                 }
19                 else if (tt==x)
20                 {
21                      n--;
22                      t+=w;
23                      if (n>0)
24                      {
25                              tt=0;
26                              t+=y;
27                              n--;
28                      }
29                 }
30                 else
31                 {
32                     t+=w+x+y-tt;
33                     tt=0;
34                     n--;
35                 }
36           }
37           cout <<t<<endl;
38     }
39     return 0;
40 }
41                     
View Code
相關文章
相關標籤/搜索