题解 P3926 【SAC E#1 - 一道不可做题 Jelly】
感觉不爽,发一波题解? 这题无非就分三种情况:
- 需要一段时间才能进行解冻
- 立即解冻
(其实没有必要) - 已经解冻了
每一类中再分几个小类~~~~呵呵
不多说,上代码:
#include <bits/stdc++.h>
using namespace std;
long long a,c,p,q,r,x,jdt,t;
int main()
{
cin>>a>>c>>p>>q>>r>>x;//输入,不多说
jdt=p*(c-a);//到开始解冻所需的时间(负的就负的)
if (jdt>0)//如果还没开始解冻
if (jdt>=x) t=a+floor((x*1.0)/p);//来不及开始解冻
else if (jdt+q>=x) t=c;//解冻中
else t=c+floor(((x-jdt-q)*1.0)/r);//解冻完毕,继续升温
if (jdt==0)//立即开始解冻(这一类其实可以合并到上一类的)
if (x<=q) t=c;//解冻中
else t=c+floor(((x-q)*1.0)/r);//解冻完毕,继续升温
if (jdt<0)//不需要解冻
t=a+floor((x*1.0)/r);//直接计算
cout<<t;//输出
return 0;//是不是觉得很简单???
}