思路:
a=h%r之后有两条分界线。
a<0.5r,还可以放1个。
0.5r<=a<0.5*3^0.5*r,还可以放2个。
a>0.5*3^0.5*r,还可以放3个。
哎,比赛时头脑简单了,只找了一个分界线。
代码:
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;int n,m,r,h,ans;int main(){ int i,j,a,b,cnt; while(~scanf("%d%d",&r,&h)) { ans=0; a=h%r; b=h/r; if(a>=r/2.0) { cnt=2; if(a>=r*0.5*sqrt(3.0)) cnt++; } else cnt=1; ans=2*b+cnt; printf("%d\n",ans); } return 0;}