zoukankan      html  css  js  c++  java
  • 洛谷 P1113 杂务(vector)

    题目传送门

    解题思路:

    本题说有些杂务是有前提条件的,而有一个特性就是某个杂务的前提一定在这个杂务前面输入,那么,这个题就瞬间沦为了黄题.对于那些有前提条件的杂务,我们只需要找它的前提条件中最晚完成的那个加上自己的时间就是这个杂务最早完成的时间.再在全部杂务中找最晚的那个,就是答案.

    AC代码:

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<vector>
     4 
     5 using namespace std;
     6 
     7 int n,p,a;
     8 struct kkk {
     9     int v;
    10     vector<int> l;
    11 }e[10001]; 
    12 
    13 inline void solve() {
    14     for(int i = 1;i <= n; i++) {
    15         int ans = 0;
    16         for(int j = 0;j < e[i].l.size(); j++)
    17             ans = max(ans,e[e[i].l[j]].v);
    18         e[i].v += ans;
    19         a = max(a,e[i].v);
    20     }
    21 }
    22 
    23 int main()
    24 {
    25     scanf("%d",&n);
    26     for(int i = 1;i <= n; i++) {
    27         scanf("%d%d",&p,&e[i].v);
    28         while(true) {
    29             scanf("%d",&p);
    30             if(p == 0) break;
    31             e[i].l.push_back(p);
    32         }
    33     } 
    34     solve();
    35     printf("%d",a);
    36     return 0; 
    37 }
  • 相关阅读:
    C语言I作业12—学期总结
    # 第一周作业
    C语言Ⅰ博客作业11
    C语言Ⅰ博客作业10
    C语言Ⅰ博客作业09
    C语言Ⅰ博客作业08
    C语言||作业01
    C语言寒假大作战04
    C语言寒假大作战03
    C语言寒假大作战02
  • 原文地址:https://www.cnblogs.com/lipeiyi520/p/11296256.html
Copyright © 2011-2022 走看看