HDU 鹽水的故事

2022-05-29 21:21:10 字數 1619 閱讀 7051

這是一道高精度問題:

在自己錯了數十遍之後找到了不少規律:

首先是output limit exceeded:之前一直不知道是什麼意思,現在才知道是輸入輸出的精度有問題

1

/**/

2 # include 3

using

namespace

std;45

intmain()619

else

if( vul==f )

2024

else

2531

else

3236

}37 vul = vul - i *d;38}

39 printf("

%lld\n

", t);40}

41return0;

42 }

view code

然後就是中間**的精度問題了:

記住比較大小時,double型別跟double型別的比,int型別跟int型別的比,double要是跟int型別的比會有精度缺失

以下是ac**:

1

/**/

2 # include 3

using

namespace

std;45

intmain()622

else

if( vul==f )

2327

else

if( r>=0.000001 )///

不能跟0比,(即不能用r>0來判)

2832

else

3337 vul = vul -f;38}

39 printf("

%lld\n

", t);40}

41return0;

42 }

view code

1

/**/

2 # include 3

using

namespace

std;45

intmain()622

else

if( vul==f )

2327

else

if( r==0.000000)28

32else

3337 vul = vul -f;38}

39 printf("

%lld\n

", t);40}

41return0;

42 }

view code

ps.另一種ac**:

1 #include2

intmain()319

break;20

}21 v=v-i*d;

22 t=t+i;

23 t++;

2425

}26 printf("

%lld\n

",t);27}

28return0;

29 }

view code

HDU 1408 鹽水的故事

掛鹽水的時候,如果滴起來有規律,先是滴一滴,停一下 然後滴二滴,停一下 再滴三滴,停一下.現在有乙個問題 這瓶鹽水一共有vul毫公升,每一滴是d毫公升,每一滴的速度是一秒 假設最後一滴不到d毫公升,則花費的時間也算一秒 停一下的時間也是一秒這瓶水什麼時候能掛完呢?輸入資料報含多個測試例項,每個例項佔...

鹽水的故事

problem description 掛鹽水的時候,如果滴起來有規律,先是滴一滴,停一下 然後滴二滴,停一下 再滴三滴,停一下.現在有乙個問題 這瓶鹽水一共有vul毫公升,每一滴是d毫公升,每一滴的速度是一秒 假設最後一滴不到d毫公升,則花費的時間也算一秒 停一下的時間也是一秒這瓶水什麼時候能掛完...

鹽水的故事

不要用等比數列求和的方法倒過來求停的次數,當剩餘的體積不夠下次滴的時候,退出迴圈,記錄迴圈次數,還有滴的時間可以用總vul除以x,得到的結果如果有小數,那麼加1秒 include include int main if y count 0 i i printf 最後丟擲的i的值為 d n int i...