Codeforces Round #436 (Div. 2)
来源:互联网 发布:夜神模拟器 mac 多开 编辑:程序博客网 时间:2024/06/13 14:45
题意:
x轴上0-a长,f点上有一个加油站,b为车的油库,现在车要走k次,从0到n或者从n到0为一次。求最少加油次数。
POINT:
贪心,每次看一看这次要不要加油,如果不加油跑不到下一个加油站,就加,不然就不加。当然最后第k次稍微不同一点,
我把来回都拉成一条线了。代码可能比较抽象。
#include <iostream>#include <string.h>#include <stdio.h>#include <math.h>#include<algorithm>using namespace std;#define LL long longint cnt[222];int main(){ int a,b,f,k; scanf("%d %d %d %d",&a,&b,&f,&k); int now=1; int you=b; int flag=1; int cnt=0; if(b<f||b<(a-f)) flag=0; if(k>=2&&b<2*(a-f)) flag=0; if(k>=3&&b<2*f) flag=0; if(!flag){ printf("-1\n"); return 0; } int aim=a-f; while(now!=k+1){ you-=a-aim; if(now==k){ if(you<aim){ cnt++; } break; } else{ if(you>=2*aim){ you=you-aim; now++; } else{ you=b-aim; cnt++; now++; } aim=a-aim; } } printf("%d\n",cnt);}
阅读全文
0 0
- Codeforces Round #436 (Div. 2)
- Codeforces Round #436 (Div. 2)
- [Codeforces Round #436](Div. 2)
- Codeforces Round #436 (Div. 2)
- Codeforces Round #436 (Div. 2)
- Codeforces Round #436 (Div. 2)
- [Codeforces Round #436 (Div. 2)]
- Codeforces Round #436 (Div. 2)
- Codeforces Round #436 (Div. 2)
- Codeforces Round #436 (Div. 2)
- Codeforces Round #436 (Div. 2)
- Codeforces Round #436 (Div. 2) E. Fire
- Codeforces Round #436 (Div. 2) (题解)
- Codeforces Round #436 (Div. 2)E.Fire
- Codeforces Round #436 (Div. 2) C. Bus
- Codeforces Round #436 (Div. 2) Fire
- Codeforces Round #436 (Div. 2)Bus
- Codeforces Round #436 (Div. 2) 解题报告
- GRASP
- ROS08-能力进阶-功能整合
- [USACO13NOV]POGO的牛Pogo-Cow
- 【循环结构】输入百米成绩判断是否进决赛,进去的话根据性别判别进男子还是女子组
- JAVA8 十大新特性详解
- Codeforces Round #436 (Div. 2)
- Android新特性介绍,ConstraintLayout完全解析
- 七大查找算法浅析
- C++虚析构函数
- HTML 无边框的表格 表头的制作
- Java数组实现顺序栈与队列
- Failed to resolve: com.android.support.constraint:constraint-layout:1.0.2
- Thinking in Java 读书笔记 第一章 对象导论
- C# 将数据保存进xml文件