• 加强赛(二)B


    感谢我的学长们对我的带领;

    本题思想来源于我的学长:WArobot;

    现有长短相等粗细不等(即最大承受中重量不等)的若干根绳子;

    本题有三种承受能力分别为:1,10,15的绳子;

    首先输入N,N为N组测试数据;

    n为n个绳子,接下来是n个数据,代表每个绳子的最大承受的重量;

    几个承受能力不同的绳子一起的承受能力取决于承受能力最小的,

    例如:一个承受能力为3的和一个承受能力为1的放在一起举起重量为2的重物,根据物理知识:重力会平均分配给每一个绳子;

    输出这些绳子所能承受的最大重量;

    所以n跟绳子能承受的重量为:承受能力最小的绳子的承受极限乘以n,

    然后假设最短的断掉,剩下的如上方法计算承受能力,用一个计数器变量记录每次能承受的重量,并且以最大的为标准不断更新计数器变量;

    最后输出计数器变量;

    代码如下:

    #include "iostream"
    #include "algorithm"
    using namespace std;
    int main(){
    int N,n,Max;
    int max[1005];
    cin>>N;
    while(N--){
    cin>>n;
    Max=0;
    for(int i=0;i<n;i++) cin>>max[i];
    sort(max,max+n);
    for(int i=0;i<n;i++){
    if(Max<(max[i]*(n-i)))
    Max=max[i]*(n-i);
    }
    cout<<Max<<endl;
    }
    return 0;
    }

  • 相关阅读:
    201301 JAVA题目0-1级, 华为笔试题
    病毒传播, 美团笔试题
    OC基础 字符串
    IOS OC语言基础(一)类的创建
    pyautogui 鼠标精灵模拟登陆
    ajax hook注入
    aiohttp异步请求
    IOS自学教程大全
    提高python工具包
    Kafka与Flume区别
  • 原文地址:https://www.cnblogs.com/sunowsir/p/6550797.html
Copyright © 2020-2023  润新知