48 / 315
May 2009

Well, I understand your point of view about someone else's code source, I didn't mean to say people are forbidden to look at a correct code and learn from it, but what advantage do you get by simply submitting the source code, if you already know it is already right. There are some people who submit judge's solutions and don't even care about removing the comments the person who did the code made. This kind of atitude should not be tolerated, at least I think it is a really bad practice, you don't have to submit someone else's right code "to make sure it is right".

Learning from other people's code should encouraged, in case you are not capable to have the idea, but not the submission of a code you didn't touch.

I think the point is not, whether they are precomputed or not, but how to get the precomputed version. If one (e.g. me) analyzes a problem by himself, working at it, implementing an algorithm that produces the needed data and than - because of loose restrictions to a problem - submit a precomputed version, doesn't anything wrong.

No doubt you can learn a lot from others source code. But I learn by analyzing it, making experiments with it and try to understand. But I would never submit someone elses code just to check whether it works. If someone posts e.g. code here in the forum telling us it was AC - I will believe that and have no need to submit that code again.

In the case of the user I named before there was obviously something wrong. Anyone who looks at his submissions will see that. And IMHO it is in the interest of all honest SPOJ-coders to hint at those cases so the admins can have a look at it and decide, if there should be some kind of reaction. That was all I wanted to do.

The main difference between a TEXT solution and a precomputed solution is that the TEXT solution must have used exact knowledge about the contents of the judge data.

The submitter of TEXT knows exactly what the judge output lines are and their relative order. The precomputed solution does not rely on knowledge of the judge data, since the user is reading the input and producing corresponding output. It also uses a list of all possible cases, not just the ones in the output file. The user may have used a slow/suboptimal solution to come up with the precomputed values, but it is still the user's own solution (unless you have proof otherwise) and can not be called cheating.

Frankly, I don't understand why TEXT is selected by default in the list of allowed languages in the problem editing page. Except for a few rare and unconventional problems problems (e.g.problems with no input like BCEASY), I see no way that someone could submit a TEXT solution and not know anything about the judge output.

DOC, PDF and PS are deselected by default, maybe deselecting TEXT is also a good idea to prevent cheating.

1 month later

spoj.pl/users/humblecoder/13
I think this person is cheating.

He is i think submitting judge solutions, which does a lot of discredit to those who solve hard problems with a lot of effort.
What is noticeable is that he is solving hard problems from COCI and University of Ulm contests (infact he has solved entire sets)
However he cannot get easy problems like KROW and BISHOPS.

How i noticed this was that person was submitting solutions very fast, i think he solved 3 COCI problems in under 20 mins (which is hard even for strong coders). Consequently i emailed him asking him for a hint to POLQUERY to which he said... he used DFS to check for connectivity... which is naive and will not clear the tests.

I request the problem setter (vdmedragon and AdrianKuegel) to look into the solutions and take appropriate action if found guilty.

He submitted judge solutions for several problems.

At the moment, the function to disqualify the solution doest not work well. I cant disable his submissions.

I did not find his email to suggest him to disqualify these judge solutions himself.

give me a private message.

Thanks.

He still has problems of University of Ulm Contest and Kurukshetra ( not so surprisingly the entire sets open_mouth )
I think only the setter of that problem, can verify this. But i'm quite sure he has used judge solutions.

Cheats are so bad. frowning

I am the problem setter of KOPC09. His submissions for problems RAINBOW, KGSS, PROOT are judge solutions.(I saw only these problems in his profile)

EDIT: Now he has disqualified his submissions for Ulm contest and KOPC problems.

You're right and I know, what he is doing: He found out where he can get amaroq's solutions from the web and now he is submitting them one after another ... angry

Hello numerix,yes you are right,just see his rank now #30 open_mouth .

I like to request the administrator attention,It's not worthy to allow a cheat to hold such a rank.

Now he's back to work and going on submitting amaroq's solutions ... rank 26 at the moment ...

Yes, I noticed that. This donkey is submitting my solutions in rapid succession. I guess that is the consequence of my putting them on my website. I loath him and I pity him, but I see no reason to remove my solutions from my site. I've added a short motivation though and hope others will not follow his immoral example. But I'm probably too optimistic.

To be honest, I'm not really surprised.. if you don't want your solutions copied, don't make them publicly available. If you want to make them publicly available, you should expect a large number of people to copy them, that's just how it works.

No, it isn't a surprise at all. It's more surprising that it does not happen more often.

@amaroq: Yes, I think you are too optimistic ...

Or maybe too naive.
I like to believe in the goodness of people and, aside from one or two black sheep like that Macedonian, most programmers solve problems for the same reason I do, because they love to solve problems. Copy/pasting other's code takes the fun out of it.
Yes, it is too naive. I'll consider my options.

Yes there is no point for removing your solution,most of the classical problems solution are available in the web.A person good with search engine can easily find them.Your solution just increment the counter.

A person submitting others solution with just copy paste gets nothing but wasting his own time.

Out of interest, why do you put your code online? The only result I can think of is people copying your code; it's not like reading someone elses solutions tends to help inexperiences programmers learn anything (quite the opposite actually, at least from what I've seen; the true learning occurs in coming up with all the ways that don't work, and debugging). I haven't actually seen your site myself, so I'm probably missing something, but I was wondering..

Why? I don't know, really. Why do people create websites or write blogs?
The banal answer is that I wanted to create a website and I had nothing better to put on it. I had a vague idea to write something about programming, which is my passion, but for the lack of contents I started to solve SPOJ problems to find inspiration. It got a little out of hand: I spent lots of time solving problems and so I started to put the solutions on my site. Nothing else, really.
I don't know about the educational value of reading other peoples' code. You're probably right; you seem to be more experienced in that matter. Often the best you can learn from it is how NOT to program. But I never had an audience in mind when I put them on my site.
As I said: I'll consider my options. I will probably dump the whole site eventually anyway.