zoukankan      html  css  js  c++  java
  • 喷水装置(一)

    这道题目是水题,刷刷水题,练习c++

    喷水装置(一)

    时间限制:3000 ms  |  内存限制:65535 KB
    难度:3
     
    描述
    现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i(1<i<600)个,并且一定能把草坪全部湿润,你要做的是:选择尽量少的喷水装置,把整个草坪的全部湿润。
     
    输入
    第一行m表示有m组测试数据
    每一组测试数据的第一行有一个整数数n,n表示共有n个喷水装置,随后的一行,有n个实数ri,ri表示该喷水装置能覆盖的圆的半径。
    输出
    输出所用装置的个数
    样例输入
    2
    5
    2 3.2 4 4.5 6 
    10
    1 2 3 1 2 1.2 3 1.1 1 2
    样例输出
    2
    5
     1 #include<iostream>
     2 #include<algorithm>
     3 #include <math.h> 
     4 using namespace std;
     5 
     6 int main(){
     7 int m;
     8 freopen("6.txt","r",stdin);
     9 cin>>m;
    10 while(m--){
    11    int n;
    12    cin>>n;
    13    float a[n];
    14    for(int i=0;i<n;i++)
    15    cin>>a[i];   
    16  sort(a,a+n);
    17  
    18  float sum=0,count=0;
    19  for(int i=n-1;i>=1;i--){
    20          if(a[i]>=1&&sum<20){
    21            sum+=2*sqrt(a[i]*a[i]-1);
    22            count++;
    23                     }
    24          }
    25  cout<<count<<endl;
    26            }
    27 
    28  return 0;
    29 }

    相交圆的弦什么时候最短非常有意思,正好构成了一个直角三角形。

     1 #include<iostream>
     2 #include<vector>
     3 #include<functional>
     4 #include<algorithm>
     5 #include<cmath>
     6 using namespace std;
     7 double Length(double R,double b)
     8 {
     9     return 2*sqrt(R*R-b*b/4);
    10 }
    11 int main()
    12 {
    13     const double l=20,w=2;
    14     int n;
    15     cin>>n;
    16     while(n--)
    17     {
    18         int m;
    19         cin>>m;
    20         double R;
    21         vector<double> Rs;
    22         while(m--)
    23         {
    24             cin>>R;
    25             Rs.push_back(R);
    26         }
    27         sort(Rs.begin(),Rs.end(),greater<double>());
    28         double sum=0;
    29         int i;
    30         for(i=0;i!=Rs.size();i++)
    31         {
    32             if (sum>l) break;
    33             sum+=Length(Rs[i],w);
    34         }
    35         cout<<i<<endl;
    36     }
    37 }        

     

     

  • 相关阅读:
    5M1E,软件质量管理最佳解决方案
    Laravel 刚创建的项目 API 无法使用 Session,是没有在Api的请求内开启Session
    python添加默认模块搜索路径
    [传纸条]
    [miller_rabin]
    国内rog游戏手机2与国际版本的 差别
    windows下依端口查进程
    gor phone 2 优缺点
    IDA pro 6.8 导入cpu解析模块报错 ImportError: No module named ida_ bytes
    JEB 4.5 新增 RISC-V 反编译器支持
  • 原文地址:https://www.cnblogs.com/zdcaolei/p/2484795.html
Copyright © 2011-2022 走看看