[Codeforces] 936A Save Energy!

LINK:http://codeforces.com/problemset/problem/936/A
  我一直搞混QQ,因為有t這個變數,然後我就一直以為是時間時麼的,然後跟烤雞烤了的比例搞混,而且感覺我有點心不在焉QQ,就亂亂的debug來浪費時間@@,或許我剛剛忘記帶腦袋了QQ
  我決定多一個處理精度的標籤!!

#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> PII;
typedef vector<int> VI;
typedef long long ll;
#define double long double
#define PB push_back
#define MT make_tuple
#define F first
#define S second
#define ALL(v) begin(v),end(v)
#define SZ(v) (int)(v.size())
#define eps 1e-9
#define MOD 1e9+7 
#define JIZZ ios_base::sync_with_stdio(0); cin.tie(0);
#define debug(args...){string _s = #args; replace(ALL(_s),',',' '); stringstream _ss(_s); istream_iterator<string> _it(_ss); error(_it,args);}

bool is_debug = 0;
void error(auto it)
{
    if(is_debug) cerr << endl;
}
template<typename T,typename... Args>
void error(auto it,T a, Args... args)
{
    if(is_debug)
    {
        cerr << *it << " = " << a << "   ";
        error(++it,args...);
    }
}
double k,d,t,ans,tot=1;
int main()
{
    cin >> k >> d >> t;
    double res = ceil(k/d)*d;
    double hello = (res+k)/(2*t);
    double tt = fmod(1,hello);
    ans = (1-tt)/hello*res;
    debug(ans,t);
    if(tt <= k/t) ans += tt*t;
    else ans += k+(tt-k/t)*(2*t);
    debug(res,hello,tt,(t-tt)/hello*res);
    cout << fixed << setprecision(10) << ans << endl;
}

留言

這個網誌中的熱門文章

Shellshock.io從入門到上手(針對單狙)(沒有圖片、影片版本)

[TIOJ] 1007燈泡問題