评测机玄学错误
查看原帖
评测机玄学错误
335094
Lucifero楼主2020/7/24 11:11

这题(P1144)有一个致命点,就是编译器版本不一样,本地跑AC,评测机跑WA;

这个代码是WA的:

void heap_add(int u,int v,int w)
{
	eline[temp].l=u;
	eline[temp].r=v;
	eline[temp].val=w;
	eline[temp].nextline=elast[eline[temp].l];
	elast[eline[temp].l]=temp++;
}

这个代码是AC的:

void heap_add(int u,int v,int w)
{
	eline[temp].l=u;
	eline[temp].r=v;
	eline[temp].val=w;
	eline[temp].nextline=elast[eline[temp].l];
	elast[eline[temp].l]=temp,temp++;
}

本地下载数据点跑,都是对的……

在评测机的版本里,执行elast[eline[temp].l]=temp++;时,会先让 temp++,再等于;而在本地,会先等于再++。

坑死人啊!@chen_zhe

2020/7/24 11:11
加载中...