Duke snaps 13-game ACC skid, beats Virginia 38-17