频道栏目
首页 > 资讯 > 其他 > 正文

codeforces864C:模拟和数学“编程题”

17-11-15        来源:[db:作者]  
收藏   我要投稿

题意:一辆车从0点出发,开向a点,或者从a开向0,称为一次journey,在f点有个加油站能加满油(油箱容量为b),问最少加几次油能进行k次journey。若不能,输出-1。
备注:最开始起点为零。
分析:当b小于f或者b小于a-f时,显然一次journey都不能进行。
首先模拟车开到f点,若此时还剩一次journey,只需判断剩下的油够不够开到a点,否则判断剩下的油够不够开到下一次到达f点,若加满油都开不到下一个f点,输出-1。另一点同理。
AC代码:

#include
using namespace std;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    int a,b,f,k;
    cin>>a>>b>>f>>k;
    if(f>b) cout<<"-1"<b){
                    cout<<"-1"<gas){
                    gas=b;
                    sum++;
                }
                gas-=need;
            }
            else{
                int need;
                if(i==k) need=f;
                else need=2*f;
                if(need>b){
                    cout<<-1<gas){
                    gas=b;
                    sum++;
                }
                gas-=need;
            }
        }   
        cout<<>
        
   
相关TAG标签
上一篇:Java中StringBuilder 与 StringBuffer类的使用介绍
下一篇:YaHoo Web网站优化的14条法则
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站