[Codeforces] 936A Save Energy!
LINK:http://codeforces.com/problemset/problem/936/A
我一直搞混QQ,因為有t這個變數,然後我就一直以為是時間時麼的,然後跟烤雞烤了的比例搞混,而且感覺我有點心不在焉QQ,就亂亂的debug來浪費時間@@,或許我剛剛忘記帶腦袋了QQ
我決定多一個處理精度的標籤!!
我一直搞混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; }
留言
張貼留言