1. 程式人生 > >題解:[SDOI2008]燒水問題

題解:[SDOI2008]燒水問題

思維題

其實就是找個規律

其實類似於貪心,把一杯水的熱量儘量全部傳遞,

一步一步往後退可得到需要加熱的為

        t(n+1)/t(n)=1-1/2n  

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 using namespace std;
 5 int n;
 6 int main(){
 7     scanf("%d",&n);
 8     double ans, now;
 9     now=420000.0/n;
10     for
(int i=1; i<=n; i++){ 11 ans+=now; 12 now*=(1-0.5/i); 13 } 14 printf("%.2lf",ans); 15 return 0; 16 }