码迷,mamicode.com
首页 > 系统相关 > 详细

HDU 5417 Victor and Machine

时间:2015-08-29 23:08:06      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:

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

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 x, y, w and n. Their meanings are shown above。

1≤x,y,w,n≤100.
 

 

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

 

HDU 5417 Victor and Machine

标签:

原文地址:http://www.cnblogs.com/arno-my-boke/p/4769941.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!