解题思路:
这道题需要我们算出T、D、E,而这三个量都可以在每次读入输入数据时对其进行更新,从而在读完全部输入数据时得到的T、D、E就是我们的最终所求。
因此,对于这道题,我们可以采用无遍历的方式来做:
对于T来说,如果树a本次操作是非正值(疏果操作)那么进行累加,是正值(统计操作)则进行替换。最终将每棵树得到的Ta进行累加则可算出T。
对于D来说,如果某棵树某次的统计操作结果!=正常疏果后的计算结果,那么该树存在落果且在对该树进行所有操作之后D++。最终的D即为所求。
对于E来说,若树的棵树大于等于3棵那么我们需要记录下前两棵树的落果状况以便最后一棵树的浪子回头。我们用Combo来记录连击数,每有一个有缘树(有落果),Combo++。每有三棵树连续掉落则达成目标,E++,同时将Combo-1等待下一棵有缘树。若接下来的这棵树不是有缘树,那么一粒老鼠屎打坏一锅汤,Combo清零。最终累加算得的E即为所求。
此外,本题中有一点需值得注意的是,当只有三棵树且都有落果时,A1A2A3算一组,A2A3A1算一组,A3A1A2也算一组&