zoukankan      html  css  js  c++  java
  • 15:接水问题

    分析:

    此题没想出更好的方法,用模拟解决。(只学习语言的同学做这样的题目有一定难度)

     1 #include<cstdio>
     2 #include<algorithm>
     3 using namespace std;
     4 int w[11000], b[11000];
     5 int main(){
     6     int n,m;
     7     scanf("%d%d",&n,&m);
     8     for(int i=0;i<n;i++)        scanf("%d",&w[i]);
     9     for(int i=0;i<m;i++)b[i]=w[i];//前0~m-1个人开始接水 
    10     sort(b,b+m);
    11     for(int i=m;i<n;i++){//模拟后面的人接水的情况,b数组按从小到大的顺序记录当前接水时间  
    12         b[0]=b[0]+w[i];//b[0]最小,所有先接完水,第i个人开始接水, 
    13         b[m]=b[0];//哨兵,处理b[0]最大的情况 
    14         for(int j=1;j<=m;j++){//保持数组的有序性 将第i个人的接水时间插入数组b中
    15             if (b[j]<b[m])b[j-1]=b[j];
    16             else{ b[j-1]=b[m];break;}
    17         }
    18     }
    19     printf("%d
    ",b[m-1]);
    20     return 0;
    21 }
    View Code
  • 相关阅读:
    pycharm的常规使用
    python-引用/模块
    6-4 函数
    5-21文件的操作
    5-21python数据类型
    python-基础
    5-7接口测试工具之jmeter的使用
    接口测试基础
    把命令结果作为变量赋值
    shell变量子串
  • 原文地址:https://www.cnblogs.com/ssfzmfy/p/5199295.html
Copyright © 2011-2022 走看看