Gordon, Cain homer, Royals defeat Reds 7-5