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

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

In light of the impossible to understand problem statements in Round 637 (ignoring some other issues), I think some changes need to be made. I think you should always include a problem statement that's free of flavor text (unless the flavor text makes the problem easier to understand). I'm definitely not against flavor text; sometimes it helps cheer me up when I can't solve any problems :P. But if it takes me 20 times to read and understand what's going on, then I feel there's a problem (see 637 div 2 C/div 1 A). What do you guys think?

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

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

Some other guy proposed a tag for such problems like "problematic text". I think we should simply view problems of the kind "hide simple problem behind complex text" as bad problems and do not use them in contests.

It does not feel right to have language difficulties in a programming contest.

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

Flavour text is fine, but it needs to be separated from the statement or sufficiently short. It's a contest problem, not a novel.

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

I think there should never be any flavour text: just the formal statement of the problem, as in Educational and Division 3 Rounds. For me, flavour texts decrease the beauty of the problem.

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

There is no benefit from flavor text.

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

People come up with a problem and then artificially add a story, it's usually stupid and generally bad for a short contest. That being said, the last contest wasn't that bad. I think you got this feeling because the ideas for problems were quite convoluted, that's it. Let me show some examples of bad (and good) statements in my opinion.

771B - Bear and Different Names — this is my problem with a long and unnecessary story, which doesn't really make the problem easier to understand. If I created this problem today, I would just write: find any sequence of strings such that this thing is satisfied.

639F - Bear and Chemistry — The statement is way too long. We should have rewritten it from scratch without any story.

917A - The Monster — It's cool that the story is short and separated from the actual problem... but it has so little to do with that problem. There are so many possibilities for using light bulbs and most of them involve binary strings. I just feel that this is a wasted potential of a story (if one really wants to make something related to Stranger Things).

and here are some statements I'm happy about:

611F - New Year and Cleaning & 1209H - Moving Walkways — statements aren't short but the story exactly matches the problem. Most of the time, this happens when a problem is invented by coming up with some idea from real world, and then solving it.

1209G2 - Into Blocks (hard version) — When preparing this problem, I first wrote a statement with a story about some game with colored balls and you can change e.g. all red balls to green. It wasn't that artificiall but the statement turned out quite long and I decided to remove it and write a short formal one. It's important not to be attached to some idea you have. A few years ago I would insist on leaving the story "because it makes sense".

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

Deconstructing a real world problem to a problem that we can solve is definitely a part of the fun and by filtering out the story, we'd be losing that part of cp problems
That being said, writing beautiful statements is a totally different ballgame from writing beautiful problems. The problemsetter should see this as more than just a format for writing statements.

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

Reading actual real life scenarios that inspired specific problem is great. I'm totally fine with it, and it is often even interesting to know where the problem comes from or what stays behind it.

Reading random "Little Johnny got an array as a present for his birthday" crap is a totally different story.

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

    Boy Dima gave Julian a birthday present - set B consisting of positive integers. However, he didn't know, that Julian hates sets, but enjoys bipartite graphs more than anything else!

    Really xD

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

After trying atcoder's boot camp training, I liked the problems more than codeforces cuz of the short statement and direct requirements