There is in fact a much better solution, which identifies the cup in the minimal 24 hours. Since $1000~<~2^{10} = 1024$, assign each cup a number expressed in binary. Then give the water in that cup to those rats for which there is a '1' in the binary representation (so, for example, cup 17 = 10001 is fed to rats 1 and 5). After 24 hours, you can simply read off the number of the poisoned cup by the numbers of the dead rats.