大佬,哪里出问题了

P1047 [NOIP2005 普及组] 校门外的树

int u[m],v[m],b[++l]; scanf("%d %d",&l,&m); 这里要改成 scanf("%d %d",&l,&m); int u[m],v[m],b[l+1]; 原程序中先定义b数组再输入的l,定义b[l]时的l根本不知道是什么值。b数组的大小就出错了。b[++l]这样的写法不对,++l会将l的值加一,加完以后在for循环中就会多循环一次导致答案错误。改成l+1后l的值就不会变了。(还是不太建议用变量来定义数组大小)
by HMSVanguard @ 2024-02-27 14:13:42


谢谢大佬
by 2369159795dw @ 2024-02-27 18:37:11


|