zoukankan      html  css  js  c++  java
  • uva 11729 Commando War

    https://vjudge.net/problem/UVA-11729

    题意:

    你有n个部下,每个部下需要完成一个任务。第i个部下需要你花费bi分钟交代任务。然后他会立即花ji分钟无间断的,独立的执行任务。你需要选择交代顺序使得所有任务结束得尽可能早。不能同时向多名部下交代任务。

    思路:

    由于所有任务的执行是独立的,那么所花费的交代任务的时间就是不变的。所以想到把执行时间较长的任务尽量向前排,这样就可以使得执行时间较长的任务最早开始执行,所花费的时间就尽量少了。

    代码:

     1 #include <stdio.h>
     2 #include <algorithm>
     3 using namespace std;
     4 
     5 struct node
     6 {
     7     int s,t;
     8 } a[1005];
     9 
    10 int b[1005];
    11 
    12 bool cmp(node aa,node bb)
    13 {
    14     return aa.t > bb.t;
    15 }
    16 int main()
    17 {
    18     int n;
    19 
    20     int cas = 0;
    21 
    22     while (scanf("%d",&n) == 1)
    23     {
    24         if (n == 0) break;
    25 
    26         for (int i = 0;i < n;i++)
    27             scanf("%d%d",&a[i].s,&a[i].t);
    28 
    29         sort(a,a+n,cmp);
    30 
    31         int cost = 0;
    32 
    33         for (int i = 0;i < n;i++)
    34         {
    35             cost += a[i].s;
    36             b[i] = cost + a[i].t;
    37         }
    38 
    39         sort(b,b+n);
    40 
    41         printf("Case %d: %d
    ",++cas,b[n-1]);
    42     }
    43 
    44     return 0;
    45 }
  • 相关阅读:
    Oracle 18c新特性一览
    iOS xcode缓存问题
    预编译头文件
    iOS 限制UITextField输入字符
    网络通信之 字节序转换原理与网络字节序、大端和小端模式
    iOS 库文件制作
    iOS 全屏布局
    内存问题 动态加载地址和运行时地址
    申请工作居住证政策解答
    phpsession配置
  • 原文地址:https://www.cnblogs.com/kickit/p/7559825.html
Copyright © 2011-2022 走看看