P1422骨灰级解法
唯一不用if的解法!
看这里!!
O(1)的算法
不用if
AC代码
你值得拥有
基础理论:0*任何数都=0
知道这件事和加减法,足够了
#include<bits/stdc++.h>
using namespace std;
int n;
double a;//最好开double,float有几率让你AFO
//所以遇到浮点数(实数)最好用double(血与泪的教训换来的)
int main()
{
cin>>n;
a+=min(n,150)*0.4463;//150千瓦时以下的钱,加进去
n-=min(150,n);//用min来规定减去的数,是为了下一步防爆
a+=min(n,250)*0.4663;
//如果不到151千瓦时,前面减法已经减掉了
//而0*0.4663等于0.0000,所以加了等于没加
//这里的250是400-150同步减掉的,
n-=min(250,n);//防爆
a+=n*0.5663;//剩下的*0.5663,不够的话原理同上
printf("%.1f",a);//简单输出~
return 0; //完美AC
}