汽车加油问题
2015-11-23 12:33
239 查看
#include "iostream" #include "fstream" #include "queue" using namespace std; /* 最远加油站优先 */ int s[50]; int greedy(int n, int k) { int i; int sum = 0; int count = 0; for(i=0; i<=k; i++) { if(s[i] > n) //如果两个加油站之间的距离超过n { cout << "No Solution!" << endl; return -1; } if(sum + s[i] > n) //如果加上距离下一个加油站的距离超过n { sum = 0; //在此处加油 count++; } sum += s[i]; } return count; } int main() { ifstream fin("汽车加油.txt"); int n, k; cout << "输入汽车加油后可行驶的距离:"; fin >> n; cout << n; cout << "\n输入加油站个数:"; fin >> k; cout << k; cout << "\n输入加油站之间距离:\n"; int i, j; for(i=0; i<=k; i++) { fin >> s[i]; cout << s[i] << " "; } cout << "\n最少的加油次数为:" << greedy(n, k); cout << endl; fin.close(); return 0; }
相关文章推荐
- ORA-1652: unable to extend temp segment by 16 in tablespace
- 文件加密和解密
- java 反射异常和 找不action的解决方案
- 雪
- BZOJ 3612: [Heoi2014]平衡( dp )
- ubuntu无法修改ROOT密码的问题解决
- ubuntu无法修改ROOT密码的问题解决
- 被误解的MVC和被神化的MVVM
- C 字符串浅拷贝和深拷贝 学习笔记
- Archlinux On Raspberrypi B+
- navicat备份复制mysql数据库
- Make 命令教程
- mysql 数据备份 crontab
- ubuntu启动时登陆出现循环登陆解决办法
- android ImageLoader 缓存下载显示网络图片
- Codeforces Beta Round #51 D. Beautiful numbers 数位dp
- 关于重写getter的方法和setter方法
- Java中的数组
- NSThread多线程
- Bootstrap历练实例:表单控件状态(禁用的字段集fieldset)