zoukankan      html  css  js  c++  java
  • CodeForces 937C Save Energy! 水题

    题意:

      一个炉子烤鸡,炉子打开的时候一共$T$分钟可以烤完,关闭的时候一共$2T$分钟可以烤完,炉子每$K$分钟自动关闭,厨师每$D$分钟回来检查,打开炉子

      问多长时间烤完..

    题解:

       用整数写比较稳妥..

       显然,整个过程是呈周期性的.

       $K>D , t_r = D*(left lfloorfrac{K}{D} ight floor +1)  $ 

       $K<=D,  t_r =D$

       将总时间$T*2$,那每个周期提供的完成度 $C=K+D$

       答案就可以出来了..

       输出的时候除以二 判断一下余数即可;

    #include <bits/stdc++.h>
    #define ull unsigned long long
    using namespace std;
    int casn,n,m,k;
    int main(){
    	ull k,d,t;
    	cin>>k>>d>>t;
    	t*=2;
    	ull ans;
    	ull ck=0;
    	if(k>=d&&k%d==0){
    		ans=t;
    	}else if(k>d){
    		ull rnd=d*(k/d+1);
    		ull ck=rnd+k;
    		ans=2*rnd*(t/ck);
    		ull ckt=ck*(t/ck);
    		if(t%ck){
    			if(t%ck<=k*2) ans+=(t-ckt);
    			else ans+=2*(k+(t-ckt-k*2));
    		}
    	}else {
    		ull ck=d+k;
    		ans=2*d*(t/ck);
    		ull ckt=ck*(t/ck);
    		if(t%ck){
    			if(t%ck<=k*2) ans+=(t-ckt);
    			else ans+=2*(k+(t-ckt-k*2));
    		}
    	}
    	cout<<ans/2;
    	if(ans%2) cout<<".5
    ";
    	else cout<<".0
    ";
      return 0;
    }
  • 相关阅读:
    kafka 启动失败
    spring boot 集成 hbase
    Spring Boot Restful 乱码
    自动化工具selenium
    spring boot mssqlserver
    pyqt5
    python bytes to string
    jQuery获取Select选择的Text和 Value(转)
    第二周读书笔记《构建之法》
    第三周读书笔记《程序员修炼之道》
  • 原文地址:https://www.cnblogs.com/nervendnig/p/9236566.html
Copyright © 2011-2022 走看看