3 条题解
-
0
#include<bits/stdc++.h> using namespace std; int main() { int t; cin>>t; double L,D,R; double length; int sum; int yushu; while(t--) { sum = 0; cin>>L>>D>>R; //先进行判断 if(D>=2*R) { cout<<"impossible"<<endl; continue; } length = 2*sqrt(pow(R,2)-pow(D/2,2)); yushu = (int)L % (int)length; sum = L/length; if(yushu>=0) { sum++; } cout<<sum<<endl; } }
-
0
#include <stdio.h> #include<math.h> int main() { int t,k; scanf("%d", &t); while (t--) { double l,d,r; scanf("%lf%lf%lf",&l,&d,&r); if(dd>(rr-1)4){ printf("impossible\n"); } else{ double m=sqrt(4rr-dd); double ans=0; for( k=1;k<l;k++){ ans+=m; if(ans>=l){ break; } } printf("%d\n",k); }
} return 0;
}
-
0
#include <stdio.h> #include<math.h> int main(){ int T; scanf("%d",&T); while(T--){ int l,w,r; int t;double f; scanf("%d%d%d",&l,&w,&r); t=f=l/(sqrt(r*r-w*w/4.0)*2);//勾股定理 /*t,f用于判断是否有小数,有则进一*/ double x=sqrt(r*r-w*w/4.0);//间距 if(t<0||x<1)//距离不能小于1m printf("impossible\n"); else { if(t>=0 &&f==t)//判断是否有小数部分 { printf("%d\n",t);//无,直接输出 } else if(t>=0&&f!= t) { printf("%d\n",t+1);//有,加一输出 } } } return 0; }
- 1
信息
- ID
- 182
- 时间
- 3000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 906
- 已通过
- 142
- 上传者