0分求调,栓Q
  • 板块学术版
  • 楼主Hyvial
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/5/6 20:44
  • 上次更新2024/5/6 23:14:13
查看原帖
0分求调,栓Q
1137394
Hyvial楼主2024/5/6 20:44

原题看这里

这是怎么肥四?

我获取了样例一,答案是对的,但还是wa了,为什么0分?!求调。

#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/5/6 20:44
加载中...