定义一个记答案结构体,然后重载加号运算符,这代码就非常清晰了,当然写个Merge函数和重载运算符大同小异
不过题解里有的没开结构体记答案,相当于所有要合并答案的地方都把Merge函数重写了一遍,感觉看着很不清晰
(不知道发一小部分核心代码算不算发题解剧透,代码放下面了)
Color operator + (Color a,Color b) {
if(a.ans==0) return b;
if(b.ans==0) return a;
return (Color){a.l,a.ans+b.ans-(a.r==b.l),b.r};
}