疑似UB求助
  • 板块学术版
  • 楼主Hisaishi_Kanade
  • 当前回复16
  • 已保存回复16
  • 发布时间2022/12/30 16:54
  • 上次更新2023/10/24 06:06:44
查看原帖
疑似UB求助
575994
Hisaishi_Kanade楼主2022/12/30 16:54

模拟赛T4,调了0.5h结果是UB,心态崩了。

我的奇怪习惯是写一个 namespace solve,然后调用 solve::main

solve::mainvoid 类型。

这次我手贱敲了 int 类型,然后很诡异,

// namespace solve 内
int main()
{
	finput("fair.in");
	foutput("fair.out");
	int t,n,i,u,v,w;
	scanf("%d",&t);
	while(t--)
	{
		res=-1;
		memset(f,-0x3f,sizeof f);
		scanf("%d",&n);
		for(i=1; i<=n; ++i)
		{
			scanf("%d",d+i);
			e[i].clear();
		}
		for(i=1; i<n; ++i)
		{
			scanf("%d %d %d",&u,&v,&w);
			e[u].emplace_back(v,w);
			e[v].emplace_back(u,w);
		}
		dfs1(1,-1);
		dfs2(1,-1);
		printf("%d\n",res);
	}
	return 0;
}
```

这段代码多测时不!停!止!

`void`$\gets$`int` 就对了,请问为啥。
2022/12/30 16:54
加载中...