There is no set number per state. However states with large populations such as CA, NY, FL, TX obviously have more appointments than small population states such as WY, ND, SD, HI.
There's no "cap" of which I'm aware. However, the law mandates geographical balance (through the nom process). Thus, if you did the math, there would probably be some theoretical limit of the number of appointments that could go to one state. However, USNA doesn't think of it this way. Rather they follow the process that (in general terms) is based primarily on geographic diversity and then the best candidates regardless of where they live.