DETROIT ( AP ) - Zack Greinke allowed one run in seven innings , and Alex Gordon and Mark Teahen homered to lead the Kansas City Royals over the Detroit Tigers 4-1 Thursday for a season-opening three-game sweep .