Are you using some kind of template for your website or did you write it from scratch? I am assuming that it uses a database of some sort, more than likely mysql. You could write a short addition to your site to record the IP's of anyone who signs up for a competition at the time they sign up which would be stored in the database. You could also add a little script that gives an error message if the IP they are using matches one that is already registered for a competition.
However, there are quite a few flaws with this. IP's change every time a router is reset (power outage, manually unplugged, etc.), and there are also many different ways for IP's to be manipulated, masked, and changed.
Instead of going for an IP route, I would recommend using cookies. Not only are cookies harder to manipulate, they are often rarely thought about / deleted and can contain much more information than just tracking IP's. Though I myself would use a combination of both.