Notes: Pokemon with listed attacks have 1 or more attacks that are taught to it by TM;
most of the pokemon I used are shiny. yours don't have to be that way;Giovanni is the hardest gym leader,don't be surprised when it takes you a billion tries to beat him;
in spaces where it says "choice pokemon" it means you can choose which ever pokemon you want to use.
suicune (lv 50+)
articuno (lv 50+) this pokemon is especially helpful when battling giovanni (when fainted,switch with suicune)
Dragonair (optional) attacks: wrap,shock wave,twister,water pulse (this pokemon is helpful in a tight spot)
Nidoking (lv 100+) attacks: peck,Thunder,Earthquake,shadow claw
hope this helps!