Hello Codeforcers!!
What do you think about Pretests?? Is it better that Pretests will be weak?
In a normal programming contest there is no Hacks and pretest but in codeforces weak pretests are a technique for Authors to make Problems have lower accepted solutions But maybe Hacks make contests more attractive and... .
Please write your comment about Pretest and so write your reasons. Tnks a lot.
I think, if there are small number of tes cases, system will work fastly during contests, so they find this pretest idea and added nice thing — hacks..
For system it doesn't matter, how many pretests are in the problem. It is known by those who held competitions... So, pretests shouldn't be very weak.
Weak pretests are good only for tasks with small code because when the expected code is big the probability of bug is bigger so you need to know is you code correct or not at least for 50-80 %.
Pretests is the reason ratings drop for most people, even after they've correctly identified the main idea. This makes us strive for accuracy from a blind spot.
Pretests adds extra difficulty to the contest, so once you get familiar with a pretests type contest, you find it easier to tackle contests like FHC, GCJ, where accuracy matters a lot, and by extension all other contests.
No, the reason is that most people lack the skill.
I failed C yesterday because of weak pretests, and other times as well. Could've been blue right now. I lack skills too.
I'm so sorry about weak pretests in problem C. It's my fault that I didn't add 13th pretest. It happened due to the lack of experience.
No problem :) These things happen
I certainly do better on ACM-ICPC style contests, because a lot of times my solutions fail on advanced tests. I always do pretty good on virtual contests, for example, but I end up with stupid errors on real contests.
But well, I guess that happens to a lot of contestants. It's not only me.
If you get a lot of WAs in ACM-style contests, that means you'll have considerably worse time. If you get stuck on a bug, you lose a lot of time (possibly all the time that's left), so unless you've mastered the strategy of spamming the judge system, it'll end up costing you roughly just as much as the CF rating loss.
Not to mention ACM problems are made with the specific format in mind — you won't see casework, nasty geometry or other crap type problems in CF, but that means more problems when failing pretests is legitimate and not just because of small mistakes.
All things are crap, you just have to find the kind of crap you love
That sounds like an argument for modern art. Actually, objective standards for a lot of things exist.
Solving all problems with 9000 WAs in a ACM-style contest will still get you in top-20 or even top-1 for some contests
you won't have time to solve problems if you want to submit 9000 times.
They suck a lot when they are too weak (the winner becomes the hacker with the most fails in his room).
They suck a lot when they are not weak but they don't include a special very silly test case (a test that could be fixed by just adding on "if", change default answer from -1 to 1, or such thing) because when you fail the System Test you get a low rank while you clearly deserve a much better rank. At least give us some points to get a better rank than someone who solved 3 problems and quit the contest!
Conclusion: they suck anyway.
Can't argue with that! Yesterday's contest standings show some participants under 100 with only A and B solved, but many hacks. Sad :(
Hacking is also an art and I suck at hacking! A good programmer should also be able to write bug free code and remove bugs if any. Look at Batman previous rounds. He has really good at hacking. These people deserve to be there.
I was actually talking about someone else. Look for the one with A and B, and 15 hacks. I don't like hacking at all, I don't support it at all.
uff.. if weak pretests are reason for your low rating, don't care about it . If you are good at coding , you will get to top without the need of hacks.
Yup! you're that guy :p
I used to hack cause I couldn't solve the other problems in contest time...
But now I believe that Codeforces contests are not good at all for my goal, So I don't care about ranking and rating here anymore... I participant in contests to solve some good problems and I'm starting to use other judges for competition...
I think they won't remove the pretests, But it's better for the pretests to be strong, Such that one won't get 2000 scores for just checking codes for n=0 test case...
Hmm....so what do you suggest by the way? I think pretests is a good idea in general, but I totally agree with your points too. So, I propose, pretests must include all corner cases, except the one which will cause time out, and this way, we can 1. completely do away with hacks because, I reiterate, points gained from hacking are not cool, and 2. the servers won't be overloaded with the complete test suite.
Thoughts?
I always believe that pretests should time out naive solutions. If N = 10^5..pretests should not allow 0(N^2)..because seriously that's like giving free 100 points to anyone in his room.
Pretests should also be strong enough to make "very non correct" solutions fail. Even though we cannot really "define" very non correct, sometimes there is a greedy solution but it's very obvious that is wrong, then pretests should fail that one, because otherwise 100 easy points. If it takes you time to think however, then maybe it shouldn't.
Hacking should be rewarded for those who can truly trace a code, and that's how it improves your debugging ability. Timing out a very naive solution or hacking very obvious wrong greedy is not an "art".
Some can argue that "at least he tried to hack a solution", but since rooms are random, that means luck really decides who gets easy hacks.
I personally like having pretests, it improves the ability of writing a bug-free code from the first time. And of course the great feeling of hacking someone who locked his solution :P
The pretests were so bad in the last few contests in CF that I don't think they should be included...I mean some solutions that pass the pretests ARE SO VERY WRONG...sometimes contestants solve completely different problems and they pass the pretest...CF should make the pretests better or exclude them at all cuz almost any solution is getting AC during the contest...
In my opinion, there are two completely different cases.
If we are speaking about common CF round, it's just a training. So, here pretests is a really nice idea because it forces participants to improve their coding accuracy and their code-reading and debugging skills, which is extremely useful in official competition like ACM etc.
But I strongly believe that it's a big mistake to spread it on official contests. This system becomes really unfair if we are speaking about competition where there are real prizes. Can you imagine IOI or ACM with hacks? I think it would be a disaster.
pretests are pieces of shit :)