前半が「もっとよい橋が作られたであろう」
と仮定法の主節になっています。
だから、後半は if 節で could have 過去分詞に合わせて仮定法過去完了。
2と4は倒置になって if が消えるというおなじみのパターン。
どちらも if S 過去分詞という形に書き換えられます。
1は仮定法過去である上に
「助けてくれなかったら」で前と合いません。
3は if ~で書き換えられる倒置になっていませんので、最初から除外できます。
2 は仮定法過去完了はよくても
やはり「助けがなかったならば」
で前と合いません。
could have beenで建てられたらだろうに(つまり現実には建てられなかった)という意味になるので、if節に相当する倒置文(hadが主語より前に倒置されてる)の(4)もし彼らが助太刀してくれていたら、が正解になります。(3)だと、彼らに手伝わせたのに、建てられていただろうに、と不自然な意味になります could have beenとif節(またはif節に相当する倒置文など)はお決まりのセットですね。