Te doy algunas pistas.
salida1 solo se pone a 1 si (if) se cumple la primera condición, en otro caso (else) se pone en 0.
Es perfectamente válido hacer
salida2 = (estadob2 == HIGH) && (estadoA2 == LOW);
y se pondrá a 1 solo si se cumple la condición.
Lo mismo pasaría con salida3 y sus condicionales.
Fijate que si logras aplicarlo te quedaría solo un if() - else
Saludos