MentalOut's blog

By MentalOut, history, 4 years ago, In English

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?

  • Vote: I like it
  • +93
  • Vote: I do not like it

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

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 years ago, # |
  Vote: I like it +68 Vote: I do not like it

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 years ago, # |
  Vote: I like it +28 Vote: I do not like it

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 years ago, # |
  Vote: I like it +5 Vote: I do not like it

There is no benefit from flavor text.

»
4 years ago, # |
Rev. 2   Vote: I like it +27 Vote: I do not like it

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 years ago, # |
  Vote: I like it 0 Vote: I do not like it

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 years ago, # |
  Vote: I like it +21 Vote: I do not like it

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 years ago, # ^ |
      Vote: I like it +22 Vote: I do not like it

    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 years ago, # |
  Vote: I like it +5 Vote: I do not like it

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