Citation: 6B_918/2019 E. C

Contre ce dernier jugement cantonal, A.________ dépose un recours en matière pénale devant le Tribunal fédéral. Il conclut, principalement, à la réforme du jugement attaqué en ce sens que le jugement de première instance est confirmé. A titre subsidiaire, il demande l'annulation du jugement attaqué et le renvoi de la cause à la cour cantonale pour nouvelle décision. En outre, il sollicite l'assistance judiciaire. Invités à se déterminer, la cour cantonale et le Ministère public vaudois y ont renoncé. B.________ a déposé une réponse et a sollicité l'assistance judiciaire. A.________ a renoncé à répliquer.