BC-52-1001
2015-08-22 20:09
169 查看
思路很简单:
代码:
代码:
#include<stdio.h> #include<string.h> #include<stdlib.h> int main() { int x, y, w, n; while(~scanf("%d%d%d%d",&x,&y,&w,&n)) { int key = x/w+1;///一次几个 int d = n/key;///第几次 int dx = n%key; int t = d*(x+y); if(dx == 0&&key==1)///如果是一组只有一个的话 t = t-y-x; else if(dx == 0&& key>1)///如果当前组的中最后一个,要减去后面不用的时间 t = t-y-(x-(key-1)*w); else if(dx > 0)///加上当前组要花费的时间 t+=(dx-1)*w; printf("%d\n",t); } return 0; }
相关文章推荐
- poj 2485 最小生成树中的最大边 prim
- c的rand()函数,相同的种子,windows和android下产生的随机数列不一样
- hdu 1027 Ignatius and the Princess II(产生第m大的排列,next_permutation函数)
- Python爬虫学习记录(1)——百度贴吧图片下载
- 九度oj 1129
- Eclipse搭建Android开发环境-Android SDK和ADT离线安装
- android-使用webview来开发混合应用
- zabbix 安装
- 在eclipse中JAVA从打包成jar程序到双击运行的整个过程(没有主清单属性问题的解决)
- 解析json数据
- 折半查找
- C++类的使用
- Linux命令详解(1):ls
- poj 1789 最小生成树 prim kruskal
- Mysql net start mysql启动,提示发生系统错误 5 拒绝访问 解决之道
- 安卓常见错误界面不显示
- CPANPLUS 的使用
- OC中常用的数组排序有以下几种方法
- largest rectangle in histogram leetcode
- 数据归一化的两种常用方法