社区讨论

C++和C++11有什么区别

P1113[USACO02FEB] 杂务参与者 5已保存回复 9

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
9 条
当前快照
1 份
快照标识符
@mi6tspil
此快照首次捕获于
2025/11/20 10:42
4 个月前
此快照最后确认于
2025/11/20 10:42
4 个月前
查看原帖
同样的代码C++AC
C++全RE
被C++秀的想锤人
CPP
#include<cstdio>
#include<memory.h>
#include<queue>
#define MAXN 10005
#define MAXM 10000005
using namespace std;

int n,id=0;
int Y[MAXM];
int next[MAXM];
int head[MAXN];
int END[MAXN];
int T[MAXN];
int idu[MAXN];
queue<int> Q;

void ADD(int a,int b)
{
	Y[++id]=b;
	next[id]=head[a];
	head[a]=id;
	idu[b]++;
}

void SCAN()
{
	scanf("%d",&n);
	int i;
	for(i=1; i<=n; i++)
	{
		int a,c=1;
		scanf("%d",&a);
		scanf("%d",&T[a]);
		scanf("%d",&c);
		while(c)
		{
			ADD(c,a);
			scanf("%d",&c);
		}
	}
}

int TP()
{
	memset(END,0,sizeof(END));
	int ans=0;
	int i;
	for(i=1; i<=n; i++)
		if(!idu[i])
		{
			Q.push(i);
		}
	while(!Q.empty())
	{
		int x=Q.front();
		Q.pop();
		END[x]+=T[x];
		ans=ans>END[x]?ans:END[x];
		int i;
		for(i=head[x]; i; i=next[i])
		{
			idu[Y[i]]--;
			END[Y[i]]=END[Y[i]]>END[x]?END[Y[i]]:END[x];
			if(!idu[Y[i]])
			{
				Q.push(Y[i]);
			}
		}
	}
	return ans;
}

int main()
{
	SCAN();
	printf("%d",TP());
	return 0;
}

回复

9 条回复,欢迎继续交流。

正在加载回复...