poj 1949 Chores(基础题)

本文介绍了一种通过遍历依赖关系来确定完成所有任务所需的最短时间的算法。该算法适用于存在任务间依赖条件的场景,如软件项目管理和任务调度等。通过递归更新每个任务的最早开始时间,最终得出整个项目或任务集的最小完成时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题意:求完成所有工作的最小时间(每个工作进行之前有条件限制)!

代码如下:

 

#include<iostream>
#define max(a,b) ((a)>(b)?(a):(b))
using namespace std;
const int Max=10050;

int MaxTime[Max];

int main()
{
	int n,i,k,t,ans=0,cnt;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
        scanf("%d%d",&t,&cnt);
	    MaxTime[i]=t;
		while(cnt--)
		{
			scanf("%d",&k);
			MaxTime[i]=max(MaxTime[i],t+MaxTime[k]);
		}
		ans=max(ans,MaxTime[i]);
	} 
    printf("%d\n",ans);
	return 0;
}


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值