In recent months there have been more and more reports of people abusing the ranking system (and, more importantly, other people getting upset about this ). So, I would welcome discussion on what sort of solution should be implemented to stop this sort of behaviour.

Some potential possibilities:1. Change the ranking system to make it cheat-proof (seems hard, suggestions welcome).2. Add an option to exclude particular users from the ranklist - and perhaps a forum for discussing potential "bans" (Wikipedia style).3. Do nothing - we'll live with it.etc.

If you look at the history of submissions for user neophd, you'll see that, several times, the user submitted, within a very short time frame, accepted solutions for a set of problems that were used in the same programming contest. For instance, in 2008-03-31, between 18:00 and 18:15, the user submitted accepted solutions for the problems "Glass Beads", "Skyscraper Floors", "Commedia dell Arte", "Substitution Cipher", "Copying Books", and "Adding Reversed Numbers". All these problems were used in 1998 ACM Central European Regional, and the solutions can easily be found on the web. A judge setter confirmed that the solutions submitted by the user are exactly the contest sample solutions. The user did this many, many times. With this expedient alone, as of May 15, this user is on position #37 in the global ranking. I'd call this an abuse of the ranking system.

By the sheer number of TLEs and WAs that appear in the judge status, I think it's safe to say that most SPOJ users are honest and this sort of thing is an exception. The only solution I see (besides having more problems that weren't used in past competitions) is blacklisting. The SPOJ administrators probably shouldn't be bothered about this, though. But I can't help finding it annoying.

I can't understand why some problems, like finding seats, may be submited in TEXT...About the topic, i think the test cases should be shuffled or add more cases, in order to avoid that someone submit the solution(TEXT) used in contests.

OK, it looks like an "exclude from ranklist" flag, per user, per contest, should be sufficient to enable blacklisting. I will add this option shortly.

I'm still not convinced whether blacklisting in the main SPOJ problemset (in English) is a good idea.

I agree - it may cause some tension if people are blacklisted dubiously.

Wouldn't it be easier to do things on a per-problem basis? If the author sees that someone has just submitted code that obviously isn't theirs, they can 'delete' the solution, email a warning, and see how things go from there?

"Why bother with cheating? There are no prizes at all, we just do it for fun and if someone is cheating he/she is just wasting time in a very pointless way?"

There is some truth in statements like this, but let's face it, we all like SPOJ's ranking system and it is one of the reasons, for me at last, to keep solving problems. There is a sense of achievement when we go up a little bit in the ranks after an acceptance, or when we submit the best solution for a problem (even if it is not a challenge problem). It is difficult to explain this to some people, but if you are reading this post you probably agree with me.

There is also a "patriotic" pride when we help our country to go up in the countries rank, specially when you want to stimulate other people to study algorithms (as in my case, because I'm a CS teacher) and your country has no tradition in programming (I'm from Brazil).

The problem with cheating is that it really makes things look pointless. Our little "abstract" sense of achievemente becomes even more abstract, because the same thing that we got from struggling is obtained by others with no efforts.

Most people that complained about the Brazillian guy that cheated are from Brazil, and they, alas we, were dismayed because he messed up our local rank an the countries rank. Suddenly, the whole thing seemed very meaningless. The effect in the global rank is not that significant, but try to imagine what it would be like if the top ranker was a cheater, or if there were lots of cheaters in the top 50.

Some people may be thinking now "If you feel this annoyed why don't you just quit?". Well, I lost my impulse in SPOJ when the cheating came up in a newsgroup of brazillian SPOJ members. Some people felt just like me. I don't think that problems like this should be ignored.

But I don't think this is an unsolvable problem. I recovered my impulse when the supposed cheater changed his name and country. I think he recognized that his acts were the results of poor judgement. This kind of cheating will happen again in rare ocasions, but a little talk with the administrators or something like that will (probably) get things straight. A per-problem elimination of dishonest solutions may set things right. But there must be a way to detect cheating before the number of bad submissions gets too high.

A curious way to facilitate the correction of cheating is to allow users to disqualify their own solutions if they think they are dishonest. I think that neophd himself would do something like that if he had the opportunity.

This user neophd is too cheeky. His action(pretending to be a Chinese user) will lose credits of our Chinese users. BTW, the user name he pretend is really the name of a Chinese ACMer from Zhejiang Univ.

It seems that neophd has finally got our point. He started a new account where he promises to submit only honest solutions.

I'm willing to believe him. I know that this is the second time I do so, and in the first time I got very disappointed, but this time he communicated his decision directly into our forum.

I still would like to see his previous account erased, and probably so do he (unless, of course, he doesn't have an archive of his honest solutions), but I wish his new account will show his real potential and provide him some real fun.

Carlos, just point him to this: spoj.pl/forum/viewtopic.php?t=264as an example of honest attitude to the contest, from my compatriot Ivan Metelsky, a very talented programmer, member of our national team.