这题(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