题目链接:计算机软件能力认证考试系统
http://118.190.20.162/view.page?gpid=T159



最早开始时间是受之前依赖的项目限制,若无依赖,第一天即可开始。若有依赖,等待前置项目完成才能开始,累加即可。
最晚开始时间在能够完成所有项目的情况下输出。受限于是否有其他项目依赖于本项目,只选择用时最长的那一项做限制。从后往前遍历。yuashi[]用来记录最原始的每个项目耗时。
- #include
- using namespace std;
- #define N 366
- #define M 101
- int rely[M];
- int cost[M];
- int yuashi[M];
- int main()
- { int n,m;
- cin>>n>>m; //n days,m 项
- for(int i=1;i<=m;i++)
- {
- cin>>rely[i];
- }
- for(int i=1;i<=m;i++)
- { int c;
- cin>>c;
- cost[i]=cost[rely[i]]+c;
- yuashi[i]=c;
- }
- for(int i=1;i<=m;i++)
- {
- cout<<1+cost[rely[i]]<<" ";
- }
- cout<
- int max=0;
- for(int i=1;i<=m;i++)
- if(cost[i]>max) max=cost[i];
-
- if(max>n) ;
- else{
- for(int i=m;i>=1;i--){
- vector<int> berelyed;
- for (int j = 1; j <=m ; ++j) {
- if(rely[j]==i) berelyed.push_back(j);
- }
- int maxx=0;
- for (int j = 0; j
size() ; ++j) { - if(yuashi[berelyed[j]]>maxx) maxx=yuashi[berelyed[j]];
- }
- yuashi[i]+=maxx;
- }
- for(int i=1;i<=m;i++)
- {
- cout<
1-yuashi[i]<<" "; - }
- cout<
- }
- return 0;
- }
-
相关阅读:
会话跟踪及常用方法
刚刚!苹果发布Apple Intelligence,官宣免费接入ChatGPT,Siri迎来重磅更新
【牛客刷题-SQL大厂面试真题】NO1.某音短视频
Linux命令大全
多目标蚂蚁狮子优化算法(MOALO)(Matlab代码实现)
每天5分钟机器学习算法:支持向量机之硬间隔分类器以及SMO算法
【MongoDB】索引 – 通配符索引
回顾10年发展,2022亚马逊云科技re:Invent全球大会即将来袭
半导体芯片相关知识
数据在内存中是如何存储的?(上)
-
原文地址:https://blog.csdn.net/weixin_62438655/article/details/132919479