HDOJ 1056 HangOver
2011-10-10 14:35
253 查看
简单的题目,我的解法采用预处理,然后使用折半查找返回答案。
#include<stdio.h> double answer[300]; int len=0; double num; int binarySearch() { int l=1,r=len,half; while(l<r) { half=(l+r)/2; if(answer[half]<num) l=half+1; else r=half; } return l; } int main() { //freopen("HangOver.txt","r",stdin); answer[len]=0; while(++len) { answer[len]=1.0/(len+1)+answer[len-1]; if(answer[len]>=5.20) break; } while(scanf("%lf",&num)&&num>0) { printf("%d card(s)\n",binarySearch()); } }
相关文章推荐
- hdoj 1056 HangOver(简单题)
- [HDOJ 1056] HangOver (基础题)
- HDOJ 1056 HangOver
- HDOJ 1056 HangOver(水题)
- HDOJ 1056 HangOver(水题)
- [HDOJ]1056. HangOver
- hdoj 1056 HangOver
- hdoj.1056 HangOver 20140728
- HDOJ 1056 HangOver
- 【HDOJ】1056 -> HangOver
- HDOJ 1056 HangOver
- HDOJ1056 HangOver
- HDOJ 1056 HangOver
- ZOJ P1045 HDOJ P1056 HangOver
- hdu1056 HangOver
- HDU 1056 HangOver
- HDU 1056 HangOver
- hdu 1056 HangOver
- HDU 1056 ( HangOver )
- hdoj1056简单题