这不是讨论区题解,只是针对输入可能的问题举几个例子!!!
如果你在读入时是像下面这样子判断主副件:
if(z==0){
a[++tot].zuw=x;
a[tot].zuc=x*y;
}
else{
if(a[z].fu1w!=0){
a[z].fu2w=x;
a[z].fu2c=x*y;
}
else{
a[z].fu1w=x;
a[z].fu1c=x*y;
}
}
那么注意,附件的最后一个值是指主件在第几行而不是第几个!
可以多加一个id记录一下主见所在的行数:
a[tot].id=i;
检索时for(int j=1;j<=tot;j++)if(a[j].id==z)然后再匹配附件。
hack 数据坑点在于附件先输入,建议遇到附件拿个队列统一存起来,输入完之后统一处理。