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

Автор I_am_Drew, история, 3 года назад, По-русски

C1-C2 (div2) The shittiest problem of the November 2020 on CF

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

»
3 года назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

agree

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

    Such problems may lead a good coder to think (for a few hours) whether he/she really is a good coder.

    Long implementation problems hurts a lot to brains.

»
3 года назад, # |
  Проголосовать: нравится +22 Проголосовать: не нравится

Felt like solving Codechef long challenge problems.

»
3 года назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Agree. I think, almost everyone was solving it the whole contest and didn't have time to even think about solution of D and E

»
3 года назад, # |
  Проголосовать: нравится -151 Проголосовать: не нравится

please downvote him

»
3 года назад, # |
  Проголосовать: нравится +85 Проголосовать: не нравится

C1-C2 (div2) The shittiest problem of the November 2020 on CF

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

Sometimes I feel amazed to see that so many Div1 participants solved C1/C2 in just 10 minutes

»
3 года назад, # |
  Проголосовать: нравится +44 Проголосовать: не нравится

This problem is strong contender for most bullshit problem of the year. I have a strong feeling antontrygubO_o would have never allowed that.

»
3 года назад, # |
  Проголосовать: нравится +17 Проголосовать: не нравится

+1 to you, but I can't fully agree with it. Still think that problem Div1B is shitty enough to compete with Div1A.

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

    I could not vote for 1B because i wasted complete 2 hrs fixing the bug in 1A and in the end found it was one ! which shouldn't be there. I decided that i will upsolve 1B but that i have changed mood after seeing your comment.

»
3 года назад, # |
  Проголосовать: нравится -19 Проголосовать: не нравится

Was it the shittiest because you couldn't solve it?!

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

    Of course not. I solved C1, C2 — not. So, not solving a problem — it's not the parametr of the shittiest problem...

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

      So what's the reason? (Cause I found them interesting)

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

        How the hell can you find a 200+ lines implementation problem with nothing to learn from it, with 20+ if-else/s and dozens of corner cases interesting. Just because you are from the same country as the authors ? Even you couldn't solve C2. Just wasting 2 hours straight on a case-handling problem in no way interests anyone

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

          Hmmm... so how do you explain this? It's less than 35 lines.

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

            Because it's a C1 solution?

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

              Check this out. It's not even 100 lines :|

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

                The point isn't if it CAN be implemented in fewer lines, it's if the approach people are generally going to go with is even feasible for the difficulty or not. The target for this question was to add a distinction in skill between say a pupil and a specialist /expert(or something similar), if an overwhelming majority of these people are only able to solve it using 200+ lines of code then the fact that it can be implemented in much less is irrelevant.

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

                  No, the point is that your overly whining because you haven't had enough practice in another what I believe is a significant part of cp, being able to implement efficiently and nicely.

                  Here's my code that was how I did it naturally my first time. Not saying it's great, or that the problem was that exciting, but it's not close to 200+ lines, and I knew it was bound for people to be overly rated without being well rounded in all skills cp.

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

                  Did you even read my comment? I never said anything about it being a good or bad problem (even tho i hated it), it was about how bringing up randomn submissions with fewer lines doesn't change the fact that for most people in the skill group, that was implementation hell, your code has a lot of copy paste in it too, and while I'm sure implement is an important skill, you fail to understand that for the people that the question was for(pupil to expert or similar), it was JUST TOO HARD to implement because of the things mentioned above. I'm sure I and a lot other people are shit at a lot of skills essential for cp but out of all those things that we fail to do in contests this is the one on which (relative)outrage is happening, why? I don't think it's as simple as GIT GUD.

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

                  Did you even read my comment?

                  Did you even read my comment? I said it was because people in your skill group aren't being exposed to enough implementation recently, which is supposed to be an easier skill in cp, not too hard, and that is why there is much more outrage. Also this is all I pretty much ever copy paste:

                  Code

                  Besides the template which is shorter than yours, the cp people I talk to will all say I don't copy paste, I just practice implementing short...

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

                  amarnathsama What do you even mean? Isn't implementation a necessary skill in CP ?

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

                  Yes, it is, among others.

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

    I don't think that is the reason because i also didn't solve D,E,F.

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

my solution of C1 was nearly 800 lines -_- -_-

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

    Not sure if you realize that, but that tells worse about you rather than about problem :P

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

I didnt even read D :( , thank you d2-c2

»
3 года назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

Then there exist people like me who realized C1 was worth less points than B after solving it

I guess problem setters prioritize brute force less.

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

and i am still debugging my solution to C2. WA on testcase 2, test 48 (:

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

    Let me know as well, if you get that testcase 48. I dont know how to check that.

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

      1 2 3 111 110

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

      I guess your solution fails test with just 3*3 square where all symbols are equal to 1

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

        I have the same wa on pretest two and the case is I think a 3*2 or 2*3 grid because my code prints the answer as 7 where the limit is [0,6] for the total moves

      • »
        »
        »
        »
        3 года назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        No, its this test case. This returns 7 moves for my code. I solve the left 2x2 grid and then right 2x2 grid

        1
        2 3
        111
        110
        11 -> 01 -> 10 -> 11 -> 00
        11    00    01    10    00
        first 2x2 in 4 moves
        then we have
        001
        000
        So then I solve 01 in 3 moves, total of 7 moves.
                        00
        Am I missing something or is my implementation wrong? All other 2x3 test cases return moves <= 2*3
        
        • »
          »
          »
          »
          »
          3 года назад, # ^ |
          Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

          If you Will fix 2*2 aquare, where number of 1 is less (or equal) then in another, firstly, and another 2*2 square after this, it Will be not more than 6 moves always.

          It is a trick that helps avoid this case, in generally yours implementation correct

  • »
    »
    3 года назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    mine 48 too..and i know my solution are exceeding n*m in most of odd n * odd m containing all '1' cases

»
3 года назад, # |
  Проголосовать: нравится +301 Проголосовать: не нравится

Not agree. I have another sentence that will be downvoted, but is true: "think two times, so you won't have to code three times".

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

    preach

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

    imagine being lgm and thinking you're gonna get downvoted

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

      Its a relative terminology they often use. Had he commented "Hi" he would get 500 upvotes at least.

  • »
    »
    3 года назад, # ^ |
    Rev. 2   Проголосовать: нравится +87 Проголосовать: не нравится

    Maybe I would agree with you if you had some clever solution that wasn't painful to code.

    But no, I opened it and it is 174 lines (after I deleted the template!), full of copy-paste and +1 -1 in lines like zrob({i, j}, {i+1, j}, {i+1, j+1});. Anyone trying to code like this that isn't 90% as good at implementation as you would have made at least 20 mistakes.

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

A neater implementation to problem Ca

CODE
»
3 года назад, # |
  Проголосовать: нравится +17 Проголосовать: не нравится

What's wrong with that one? Seems that it is yet another ad-hoc regular CF problems that we have in all rounds. I wonder then, why authors though that A2 is 500 only. If that were 500-1000, I would say pretty good one, or just kill A1 and do A2 as B 1250 (implementation with lots of potential bugs) and create a good 500 A.

On the other hand, B was complete shit though.

»
3 года назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
»
3 года назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

looks like many people felt that way but isn't quick implementation an essential skill to have? or am i missing something here?

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

But I see its upvoted.

So it is false?

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

Be confident guy, delete "the November 2020 on" and it'll be "C1-C2 (div2) The shittiest problem of CF". That makes sense, doesn't it?

»
3 года назад, # |
  Проголосовать: нравится +33 Проголосовать: не нравится

A problem such as this is, as any other, a learning opportunity. In this case, an opportunity to learn how to think of the least painful implementation, before starting to code. And, importantly, when to stop thinking and go back to coding.

There are different genres of contest problems. For example, if we group by the general question, there are "how to do it at all?", "how to do it efficiently?", and then there is "sure it can be done, but how to code it, reliably, so that it will work in the end?". Personally, I find the latter genre somewhat appealing as well as others, and generally applicable outside of algorithmic problem solving.

The butthurt it causes, like this original post, can be seen as an added perk by some authors. Still, a contestant willing and able to learn could turn the pain into a learning experience.

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

    Yes, I think the main trouble is about these problems weren't used for ACM-style contest, where they would be very appropriate. Instead of this, the problems were used for CF round and the main portion of negative feedback should be mostly addressed to the CF coordinators, who must have a good understanding of how the tasks are suitable for the CF round. If I saw problems Div1A, Div1B, Div1C in ACM-style contest, I would not say anything wrong about them.

»
3 года назад, # |
  Проголосовать: нравится -34 Проголосовать: не нравится

Downvote me!!! ORZ!!!

»
3 года назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

If guys dont mind, I have some implementations with comments here

Problem C1 - Eliminate each 1x1 cells
Benchmark
Problem C2 - Eliminate odd row, odd column then eliminate 2x2 cells
Benchmark
Problem C2 - Eliminate rows then columns then last 2x2 cells
Benchmark
»
3 года назад, # |
  Проголосовать: нравится +16 Проголосовать: не нравится

I mean, I agree it is quite coding-heavy, but I would not agree that problem was super shitty or whatever. Idea behind the problem is not that bad. I would think that if it was on some ICPC contest nobody would bat an eye, but this positioning here was something that caused so much outrage since it is not pleasant for problem you start with (in Div1) and problem that should be fairly simple to Div2 people as well (cause they will drown in badly written code more than Div1 people).

  • »
    »
    3 года назад, # ^ |
    Rev. 2   Проголосовать: нравится -43 Проголосовать: не нравится

    I agree!!

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

      Please, don't write such comments on 4 month old threads, unless you actually have something new and valuable to add. If your comment is "this problem is shit" (in this case, provide arguments) or "I agree" (in this case, just upvote) then there is no need to write it at all. It's just polluting Recent Actions.

»
3 года назад, # |
  Проголосовать: нравится -30 Проголосовать: не нравится

You're actually getting up-votes bro...(I think you're right.)