Блог пользователя Chenyu_Qiu

Автор Chenyu_Qiu, история, 4 года назад, По-английски

There is a problem I notice recently When hacking, for example, some people will hack others to see others' code after they have done such as D question. At this time, some of his friends may come to him to ask for the solution of D question, but many people do not want to take the risk of their own solution being judged cheating. They might send someone else's code which copied from hacking other people to their friends, and if their friend are judged cheating by system, the one who be hacked is really hard to prove he is innocent. So I think this problem is really serious.

And I also have some suggestion Firstly, the codeforces might can record the data about the user who view your code during the contest, and if there is any problem, it can provide some evidence

Second solution might be really useful but It also would cause a lot of problems , moveing the whole function of hack after the contest end, even someone send code to their friends, it is not count in their score, It might be a way to prevent cheating. But this method still have many aspects to improve, It is really welcome for everyone to give some own opinions.

  • Проголосовать: нравится
  • +325
  • Проголосовать: не нравится

»
4 года назад, скрыть # |
Rev. 2  
Проголосовать: нравится -8 Проголосовать: не нравится

For the second solution, do you mean using a 12-hour open hack phase for both Div.1/Div.2 and Extended ICPC, or a relatively shorter time period than an open hack phase with same format as it was on Div.1/Div.2?

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    My meaning is moveing the whole function of hack after the contest end, even someone send code to their friends, it is not count in their score, It might be a way to prevent cheating. And I know it will cause some problems. This method still have many aspects to improve, thanks for your suggestion

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been updated by Chenyu_Qiu (previous revision, new revision, compare).

»
4 года назад, скрыть # |
 
Проголосовать: нравится +45 Проголосовать: не нравится

One solution could be , who has sumbitted the code first should not be plagairised among the same codes.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +29 Проголосовать: не нравится

We can have a few minutes(variable) of waiting time after the contest where you can lock the problems and the same thing that happens now( during the contest) and after the waiting time, the solution will be judged.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +56 Проголосовать: не нравится

moveing the whole function of hack after the contest end

Basically Topcoder :)

»
4 года назад, скрыть # |
 
Проголосовать: нравится +26 Проголосовать: не нравится

Hacking after contest has ended can have hacking phase 10 minutes or so. I liked this idea.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +79 Проголосовать: не нравится

I support the latter approach.

  • Many of our community members already notice this cheating method, and some ugly cheaters try this is a matter of time
  • Innocent hackers may be punished and have no way to the proof innocent who just read the stolen code
  • Managing viewed history may make the site heavier

Here are some merits to move the hacking phase after the coding phase:

  • We don't have to choose coding or hacking during the contest
  • No one receive "Hacked" during the coding phase(fairer than now)
  • People who can't solve the problem but have strong tests can make hacking
  • We have the option to decide on the room divisions after the coding phase
    • We can extend the registration time
    • If we can make the room division smarter, we can avoid the situation that someone cannot make hacks because of too few submissions in the room
  • »
    »
    4 года назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится +28 Проголосовать: не нравится

    I think this proposal is very good, but has the following disadvantages: 1. The contest time will be extended. Assuming that the regular time of a contest is 2 hours and the hack time is half an hour, then each contest will be half an hour longer. For those who are used to the regular length of codeforces, it is unacceptable. 2. For people who don't usually like hacking, the increased hacking stage is actually a kind of torture to them. They can't add points, but they have to watch others add points. Therefore, I think that this scheme can only select some contests for experimentation at most to see the effect. Or for the same contest, it is divided into two contests, one contest follows the previous rules, and the other contest uses new rules divided into coding and hacking stages. Users register for one contest according to their preferences, and the rating changes are calculated separately for both sides.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится

The second solution will be better, Not only because of the problem you mention but also the fact that harder problems are nearly impossible to be hacked. Supposing a GR, in a room there may be only one or even none of the participants that can solve a 2400-rating problem. In this case, nearly no hack will happen. You can only expect that the problem setter set strong enough test cases. Just move the hack after the contest and everyone who read the editorial or go upsolving can help.

»
4 года назад, скрыть # |
Rev. 2  
Проголосовать: нравится +30 Проголосовать: не нравится

In the first place, do we need hacking system?

Now, earning points by hacking is largely based on luck. Most hacks are made on easy problems. Because of room system, submittion for hard problems are really few. So even if we found some strong test to hack some sort of wrong codes, it is rarely applicable.

So, most of hack points are made to tiny miss or luckily passed O(N^2) solutions, which are easy to hack if we can find it. This mostly depends on luck which mean "how many roommates participate" and "how many has submitted hackable solution". Is this really fair?

Ofcourse others hacking points won't affect much to yourself's standings or performance, so it was not a big deal. Though, this system won't show one's ability precisely, much more from luck. If we have some problem of this system, removing it makes sense.

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится +9 Проголосовать: не нравится

    As a problem setter, I disagree with you. Because, no matter how responsible the problem setter is, the following situation will occur, that is, the prepared test data set will not be able to get rid of all incorrect algorithms. Maybe a solution is hacked because the pretest is not strong enough and the problem setter forgot to put strong enough test data into the pretest, but, more often, it is because the problem setter did not Be prepared to get stuck with some kind of wrong algorithm data in advance. You may think that the problem setter can add data after the game has started, but, in fact, this is not allowed, that is, the problem setter is not If it is allowed to hack the participant's code during the competition, then the task of preventing wrong solutions can only be left to the hacking system. Compared with the unfairness caused by letting the wrong solution pass the system test, I personally think the hack system must be retained.

    • »
      »
      »
      4 года назад, скрыть # ^ |
       
      Проголосовать: нравится +3 Проголосовать: не нравится

      I think it's just one aspect. There are still many solutions which actually have a hack case, though passed the system test. Killed solution is just one part of it. (But "Failed System Test" has large effect to himself, it's taken bigger than it actually is)

      Preventing all wrong solution is unrealistic, and most of as notice it. A few contest site has hacking system (as far as I know, only topcoder?), it still works. Do we really need to get rid of ALL wrong codes?

»
4 года назад, скрыть # |
 
Проголосовать: нравится -44 Проголосовать: не нравится

yo, chill its just a game

»
4 года назад, скрыть # |
 
Проголосовать: нравится +19 Проголосовать: не нравится

https://mirror.codeforces.com/contest/1738/standings/participant/141164732#p141164732

I hope SystemTest will be tested during the contest,open hacking after the contest, so "weak pretest" will disappear.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

It would be good if the timings of the code submission is considered. The one who submitted the code first will not get plagiarism and others will get it.