P7.2 Fish
N voracious fish are moving along a river. Calculate how many fish are alive.
- P7.2 鱼儿
鱼儿在河里觅食,最终有多少条鱼是活的
A和B均是由N个整数组成的两个非空数组,均表示N个在河流中觅食的鱼。鱼的编号从0到N-1,最开始每条鱼都有一个特定的位置。如果P和Q是两条鱼,并且P<Q,表示鱼P最初位于鱼Q的上游。
数组A表示鱼的大小,它的所有值都是唯一的。数组B表示鱼游的方向,它只包含0和1,其中:
- 0表示向上游的鱼;
- 2. 1表示向下游的鱼;
如果两条鱼向相反的方向游动,并且它们之间没有其他(活的)鱼,它们最终会相遇。那么只有一条鱼可以存活,因为较大的鱼会吃掉较小的鱼。更准确地说,当P<Q,B[P]=1和B[Q]=0时,两条鱼P和Q之间没有活鱼,它们相遇后:
- 如果A[P]>A[Q],则P吃Q,P仍将向下游动;
- 如果A[