0分求调
  • 板块学术版
  • 楼主Hyvial
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/4/27 15:35
  • 上次更新2024/4/27 17:44:55
查看原帖
0分求调
1137394
Hyvial楼主2024/4/27 15:35

题目 全WA了

#include <bits/stdc++.h>
#define LL long long
#define DB double

using namespace std;
const int N = 1e4 + 10;
int n, m;
int id, t;
int size, F[N], Ind[N], Time[N];
vector <int> V[N]; 

void topsort()
{
	queue <int> q;
	for(int i = 1; i <= n; i ++ )
	{
		if(Ind[i] == 0)
		{
			q.push(i);
			F[i] = Time[i];
		}
	}
	
	while(!q.empty())
	{
		int u = q.front();
		q.pop();
		
		for(int i = 0; i < V[u].size(); i ++ )
		{
			int v = V[u][i];
			Ind[v] -- ;
			if(Ind[v] == 0) q.push(v);
			F[v] = max(F[v], F[u] + Time[v]);
		}
	}
	
	int Ans;
	for(int i = 1; i <= n; i ++ )
		Ans = max(Ans, F[i]);
	
	printf("%d", Ans);
}

int main()
{
	scanf("%d", &n);
	for(int i = 1; i <= n; i ++ )
	{
		scanf("%d%d", &id, &t);
		int x;
		Time[id] = t;
		while(scanf("%d", &x))
		{
			if(x == 0) break;
			V[x].push_back(id);
			Ind[id] ++ ;
		}
	}
	
	topsort();
	return 0;
 }

2024/4/27 15:35
加载中...