• poj 1789 Doing Homework again


    思路:找到当前所给延时最长的所包含的作业里面分数最大的完成它,eg:

    7
    1 4 6 4 2 4 3
    3 2 1 7 6 5 4
    当我在第7天的时候,没有延时 >=7 的,所以没有满嘴条件的,当在第6天的时候, 只可能完成一个作业就是1,完成它。第5天的时候可以完成延时为6的那个作业,
    但是第六天已经完成了,所以没有满足要求的,第四天的时候有四个满足要求的,一个延时为 6 三个延时为 4, 找到分数最大的以此类推即可:
     1 #include<stdio.h>
     2 #include<string.h>
     3 
     4 int t, n, dl[1100], sc[1100];
     5 int main()
     6 {
     7     while(~scanf("%d",&t))
     8     while(t --)
     9     {
    10         memset(dl, 0, sizeof(dl));
    11         memset(sc, 0, sizeof(sc));
    12         int sum = 0;
    13         scanf("%d",&n);
    14         for(int i = 0; i < n; i ++)
    15             scanf("%d",&dl[i]);
    16         for(int i = 0; i < n; i ++)
    17         {
    18             scanf("%d",&sc[i]);
    19             sum += sc[i];
    20         }
    21         int sum1 = 0, flag = n;
    22         for(int i = n; i > 0; i --)
    23         {
    24             int max = 0;
    25             for(int j = 0; j < n; j ++)
    26             {
    27                 if(dl[j] >= i && max < sc[j]) 
    28                 {
    29                     max = sc[j];
    30                     flag = j;
    31                 }
    32             }
    33             sum1 += max;
    34             sc[flag] = 0;
    35         }
    36         printf("%d\n",sum-sum1);
    37     }
    38     return 0;
    39 }
  • 相关阅读:
    python的reduce()函数
    python的map()函数
    【RxJS 01】函数式编程
    【vs_dev】01 first one
    【Angular01】Angular First One ----附 ip 地址查询
    目录
    ECMA Script 6 something
    【git】打tag
    【work 0107】dione 搭建
    【nextjs】React SSR
  • 原文地址:https://www.cnblogs.com/yuzhaoxin/p/2667544.html
Copyright © 2020-2023  润新知