Advertisement

UVa 506 System Dependencies

阅读量:

软件组件之间可能存在相互依赖的关系。当前任务的目标是模拟软件组件的安装与卸载流程。

要点:

  • 当执行install操作时,该软件会被标记为显式安装,而其所需的依赖组件则会被视为隐式安装。采取这种设计的原因在于便于后续的remove操作。当用户执行remove命令时,系统会自动删除该软件所依赖的隐式安装组件;而对于显式安装的组件,则不会进行删除处理。这种机制实际上体现了良好的用户体验。本题中较为难以理解的部分正是这一设计逻辑。
  • 题目中并未明确给出数据规模,但经过实际测试发现1e5的数据量已足够应对需求。
复制代码
    #include<bits/stdc++.h>
    using namespace std;
    const int maxn = 1e5 + 10;
    
    int num = 0;
    unordered_map<string, int> mapId;
    unordered_map<int, string> idMap;
    vector<int> status;     //组件是显式还是隐式安装的
    vector<vector<int>> depend1;    //组件x依赖的
    vector<vector<int>> depend2;    //依赖于x组件的
    vector<int> 

全部评论 (0)

还没有任何评论哟~