2 条题解
-
1
#include<stdio.h> #include<math.h> int main(void) { int n,m; scanf("%d", &n); //循环次数 for (int i = 0; i < n; i++) { //半径个数 scanf("%d", &m); double a[601] = { 0 }; for (int j = 0; j < m; j++) { scanf("%lf", &a[j]); } //排序 for (int k = 0; k < m - 1; k++) { for (int j = 0; j < m - 1 - k; j++) { if (a[j] < a[j + 1]) { double t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; } } } //判断输出 double sum = 0; int j = 0; while (sum < 20) { sum = sum + 2 * sqrt(a[j] * a[j] - 1); j++; } printf("%d\n",j); } return 0; }//第一种题解
-
1
#include<math.h> int main() { long long m; int n,count,min; double sum,r[750],temp; scanf("%lld",&m); while(m--) { scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%lf",&r[i]); } count=0;sum=0; for(int i=0;i<n-1;i++) { min=i; for(int j=i+1;j<n;j++) { if(r[min]<r[j]) min=j; } if(min!=i) { temp=r[i]; r[i]=r[min]; r[min]=temp; } } for(int i=0;i<n;i++) { if(sum>=20) { printf("%d\n",count); break; } else { sum+=sqrt(r[i]*r[i]-1)*2; count++; } } } return 0; } //第二种题解
- 1
信息
- ID
- 121
- 时间
- 3000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 1093
- 已通过
- 290
- 上传者