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

Автор Um_nik, история, 22 месяца назад, По-английски

Disclaimer: This blog is not about competitive programming; you probably will not learn anything about algorithms and data structures. In other words, it doesn't qualify for this initiative, but I want to give a link to it anyways because I think it's cool.

I love solving problems. No, seriously. I LOVE it. The mindset described in this blog is 100% how I feel. But it is not constrained to competitive programming problems. I loved math problems for a much longer time, and physics was somewhere there. But I also love solving puzzles. And playing puzzle games on the computer (well, on consoles). And participating in intellectual games. I am not as good in them as in cp, but it was never about being good for me, I just love the process.

And I think that there might be some people with a similar love for puzzles among competitive programmers, this is why I decided to write this blog on CF and not because this is the only place on the Internet where my opinion matters a little.

So, there is this thing called puzzle hunts. Basically, it's a set of puzzles, but they don't tell you the rules. And the idea is to bend the rules even if there are some. Some blog about puzzlehunts. The quote in the beginning is great:

Imagine a word search.

Now imagine you aren’t told what words to look for.

Now imagine you aren’t told it’s a word search.

Now imagine it isn’t a word search.

I'm not experienced in this at all, my first puzzle hunt was a year ago. 2023 MIT Mystery Hunt ended yesterday, and this weekend was one of the most fun experiences of my life. And I encountered the best puzzle of my life to date (which is not saying much). Spoilers for MITMH23 below.

Enter Showcase (I would not be surprised if the link will not open, the hunt just ended and I don't think the site was totally transformed into free form, so you might have to wait a bit; UPD we now have a PDF courtesy of one of the authors). Authors of this puzzle include

This is a spoiler not only to the puzzle but to the story below

This story starts around 1 pm (in my timezone) on Saturday. I open the puzzle and see 12 small grid puzzles. I love grid puzzles, I want to try and solve this one. Flavor text says

This is the last thing I'm putting under a spoiler tag, I WILL SPOIL THE SOLUTION TO THE PUZZLE

which probably means that I won't be able to solve the grid puzzles as is. But I don't understand what to do instead, so after some staring, I decide to try anyway. Surprisingly for me, the first 10 puzzles are pretty normal, they have a unique solution and some of them are interesting to solve (try E, H and I). This doesn't really help, as I still have no idea what to do next. I switched to a different puzzle.

Around 2 am in the night I thought that we should request a hint. The hint was "Read the flavor text carefully — it seems to be directing your intention to certain parts of the logic puzzles' instructions. Read those parts in order to find a cluephrase for what to do next." I did that and got... FIND ANOTHER CONTEST MIT WON RECENTLY, WATCH BROADCAST AFTER HOUR FOUR, OVERLAY LETTERS FROM FITTING ACRONYM IN SPOKEN ONE MAYBE TWO WORDS WITH TITLES.

MIT won the finals a couple of months ago... broadcast? hour four? wait, there are 12 puzzles which are numbered with letters?! Yes, this is certainly about ICPC WF. And look, this final has exactly 12 problems! I'm calling VArtem, who was one of the two not-yet-asleep members of our team, to join me.

Intrigued, I open the recording of the broadcast. They are talking about FFT, which is an acronym... but what to do with it? Rewatching several minutes around the 4-hour mark, nothing. But it is surely about the finals, and we should match 12 puzzles to 12 problems in the problemset. We look at the names of the problems, we open the problemset (I didn't want to spoil the problems to myself, but MITMH requires some sacrifices (mostly sleep)). Here it is, crystal structures (did you notice 12 phrases under the puzzles?)! But no, nothing else matches...

And then VArtem says:
- He said it! He said "writing system on them"!
- What? — I'm confused.
- One of the phrases! ecnerwala says it on stream!

Since I was rewatching several minutes around the 4-hour mark for the fifth time, I was too slow here. But the hint was to watch broadcast after hour four, not right after.

So, ecnerwala is going through the problemset and saying the phrases. We found couple more and... why is he saying weird words? People don't normally say "discrepancy" and "inconspicuous". Wait, ecnerwala. ecnerwala is from MIT. They didn't just take a video and made an ICPC-related puzzle. He is doing that on purpose!

Then we spend half an hour trying to hear phrases from the statement and writing down words. Then half an hour more for problem F. Then we just gave up. From the official solution to the puzzle: You might have encountered some difficulty finding the special phrase for Problem F — this was because the stream cut out while Andrew was covering this problem! We had to get Andrew to re-mention problem F some 30 minutes later, at timestamp 4:54:30.

Okay, we got almost all weird words and correspondence to problems, what's next? After several minutes I notice that several grid puzzle names have the same length as corresponding weird words. What was it, "OVERLAY LETTERS FROM FITTING ACRONYM IN SPOKEN ONE MAYBE TWO WORDS WITH TITLES"? We had to write down two words instead of one to get all lengths to match, but other than that it looked good. Ok, ICPC would be a fitting acronym, but... wait. Wait wait wait wait. All the weird words have a subsequence ICPC. Seriously?

Taking the corresponding letters we got ORDERPROBLEMSBYMITSO????IMETAKEFIRSTLINEOFOUTPUT. Or ORDER PROBLEMS BY MIT SOLVE TIME TAKE FIRST LINE OF OUTPUT. Output? Puzzle solutions you mean? Ok, we try, and it doesn't look good. Sample output? Doesn't look good either. After another half an hour of trying different things we decided to take another hint. Maybe we shouldn't have do it so soon, but we (well, at least I, can't say for Artem) really wanted to solve this CP-related puzzle and it was already 4:30 am.

The hint says "What does "output" mean in the context of ICPC problems? You'll need some corresponding "input", where can you find it?".

I mean... we still haven't used the puzzles. Could it be?.. We look closer at the puzzle solutions...

For the next 20 minutes me and VArtem are just sitting there and each minute one of us says some variation of "this is amazing". THEY MADE 12 GRID PUZZLES WITH DIFFERENT RULES (some of them are even good) WHOSE SOLUTIONS ARE VALID INPUTS TO ICPC WF PROBLEMS. I will repeat that and I don't think that caps is enough to emphasize what has happened.

THEY MADE 12 GRID PUZZLES WHOSE SOLUTIONS ARE VALID INPUTS TO ICPC WF PROBLEMS. ICPC WF is a serious prestigious competition. I am pretty sure that ecnerwala did not know anything about the WF problems before the contest. The problems could have had wildly different input and output formats. This is just unbelievable to me.

And don't get me wrong, the puzzle before that was also very good and very cool. ICPC subsequence is cool, and what's even more amazing about it is that ecnerwala managed to naturally mention all the words he needed as it was a normal discussion of the problems. And again, they didn't have the problemset beforehand, so they had to come up with all these natural-sounding phrases in 4 hours between the start of the contest and Andrew's amazing performance. They could have prepared some words with ICPC subsequence, sure, but to include them into a text about a problem...

But the puzzle to inputs step knocks it out of the park for me. Obviously, unlike ICPC words in the broadcast, the grid puzzles and their names were not written in 5 hours, but I couldn't do it in a lifetime. I want to show my appreciation to the authors. And I'm really happy that in our team the people who solved this puzzle could appreciate it to the full extent (I would be surprised if there was another team with 2 former ICPC world champions (actually we had 4, including tourist (see, tourist does it, it is surely the secret ingredient to being LGM))).

So, a big thank you to ecnerwala, ksun48 and other authors. I assume that you guys are a part of teammate? Probably your experience in puzzle hunts is much more valuable than mine, so it would be cool to hear from you.

And if I convinced you to look at the puzzle hunts, here is a short guide I wrote for our team. It is bad, and there are much better guides out there, but I made it, so here it is.

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

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

Thanks for the kind words!

This puzzle was a lot of fun to write, from start to end. About the conception of the puzzle: I have to thank my coauthors Cat and Bryan (edit: and Patrick, oops!) for believing this idea was possible in the first place, and Bryan especially for pushing the idea of hiding inputs in logic puzzles and making most of the "best entries". Maybe ecnerwala can speak about the broadcast itself.

Puzzlehunts are great fun and I encourage anyone here to check them out if they haven't already. Puzzles have a lot of the same cool moments that come up in contest problems, and in puzzlehunts these moments can be experienced in a team atmosphere (just like in ICPC).

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

    Thanks Um_nik, I'm really glad you had fun solving the puzzle. We were really excited for you guys to see it when we heard you had an MH team.

    I think the first whispers of hiding a puzzle in the WF broadcast came when some teammates were watching the Errichto vs me Kotlin showmatch. It was mostly just a joke at the time, but tbh that's how a lot of our puzzles start. Embedding puzzle data in public content (videos, news articles, crosswords, etc.) has definitely been done before in Mystery Hunt, but there was essentially no way to write+testsolve a whole puzzle in only 3 days. Still, Bryan kept pushing it and we eventually decided to just insert some special words in the stream and hope we could figure out some way to use them after the contest. (Sometimes this is called "spaghetti-ing" a puzzle because of this puzzlehunt blog game.)

    Actually doing this in contest was pretty crazy. We came up with a bunch of ICPC-containing phrases the previous night, and in the first couple hours (which was after midnight in the US), Bryan, Cat and Patrick prepared a table of words kinda related to each problem and a sample one-liner of how to work it in.

    screenshot of my cheat sheet

    For the actual broadcast, I didn't tell anyone in charge I was going to do this (sorry lperovskaya), and just told my cohost SecondThread I wanted to talk about the problems after the freeze and needed to include some words. Actually working the words in was pretty smooth for the most part, since most were thematically related, but some were really suspect (looking at you, problem F). I wanted to do it pretty quickly and fit them all in at the beginning, but I ended up saying a lot for each problem and I kept getting interrupted by pre-recorded videos from the control room >:(

    After the contest, I had the idea to make teams solve small sample-sized inputs to the ICPC problems, so I dragged ksun48 in to construct the puzzle. He and Bryan designed and wrote pretty much the entire rest of the puzzle, so huge shoutouts to them.

    I'm really happy with how this puzzle turned out, and I'm glad more people are getting to see it here. The hunt website will be open for public access soon™, so you should be able to see the puzzle there.

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

      Thanks for telling us the story of puzzle creation!

      Maybe you can put some kind of pdf version until the website is up? I was stupid to put the blog out there while the puzzle is not accessible, but since I have done it, I don't want it to be lost to recent actions.

      Also it would be very cool to hear more about puzzlehunts from you, maybe make a short list of your favourite puzzles.

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

      Embedding puzzle data in public content (videos, news articles, crosswords, etc.) has definitely been done before in Mystery Hunt

      Yeah, we solved the "thanks for coming to my TED Talk" puzzle during the training :)

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

To the lazy ones: TLDR,

The blog is about the writer's love for solving problems and puzzles, and how they discovered the world of puzzle hunts. Puzzle hunts are a set of puzzles where the rules are not given and the idea is to bend the rules if there are any. The writer recently participated in the 2023 MIT Mystery Hunt and had one of the most fun experiences of their life, including the best puzzle they have ever encountered. They talk about a specific puzzle called Showcase and how they eventually solved it by carefully reading the flavor text and using a hint that directed them to look for a specific acronym in a broadcast of the ICPC WF. They also mention that the puzzle required some sacrifices such as spoiling the problem for themselves.

ChatGPT

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

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

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

I just want to add that while puzzle quality in MITMH is insanely good, it's also very beginner unfriendly (and MITMH 2023 was VERY unfriendly). Particularly to people that do not have high exposure to American popculture.

If you want to practice on a smaller puzzle hunt with much easier puzzles I'd highly recommend https://darocaro.github.io/.

Calendar for the upcoming puzzle hunts: http://puzzlehuntcalendar.com/

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

I am also a puzzle lover (over 500 escape rooms on my counter lol), but I've never really tried puzzle hunts yet. I remember being told by Psyho that MITMH is such a big event that people create teams with up to 100 members and some of them are specifically there not in order to solve puzzles, but only to appropriately allocate resources (i.e. telling other people which puzzles they should solve). I have to admit that it is quite discouraging. And hearing that exposure to USA culture is a big turn-off as well as it must completely suck to spend hours on some puzzle and getting to know that the next step required knowing some saying that is known by every American, but rather unknown for foreigners, or anything in that fashion. Did you feel overwhelmed by that competition as a whole? Did you feel it was inaccessible to you in some parts?

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

    Everything you said is true to some extent, yes. And as Psyho said earlier, starting from MITMH right away is probably a bad idea, as it is very hard, designed for top teams of size around 100 in mind and has puzzles that require USA/Boston/MIT-specific knowledge.

    Some things that might be bad:

    • Language barrier. I'd say I know English fairly well, but there are some expressions that I just have never heard, and even for the ones I have heard they are not coming to my mind randomly. Suppose you have two lists of cluephrases, you answer most of them, although you can't be sure you are right, and the next step you should do is to notice that you can match them in pairs that are common expressions. This one is doable, but I'm sure that an average person in USA would spot a couple of those phrases earlier than I will. But in puzzle hunts it can go deeper than that. We solved a puzzle where you got lists of clues X and Z, and you had to match them because there is a word Y (that is not clued in any way) s.t. "X and Y" is a phrase and "Y and Z" is a phrase. This is just impossible to do if you are not living in English-speaking country. And there is a lot of wordplay involved, which is much harder to do in second language.

    • USA culture. We are already exposed to USA culture through Netflix, movies and internet in general. But what we are much less exposed to is children USA culture. There are things that USA kids know from their early years, and they don't even understand that it is not universal knowledge. My fairy tales were in Russian, I vaguely know that there is something called Dr.Seuss, but that's the full extent of my knowledge. While they can write full rounds of puzzles not even understanding that there are people without this background. And, well, it is an MIT event, they shouldn't cater to other lesser people, the fact that it is possible to participate without being an MIT student or even American is already very nice. But it might have been nicer...

    • About being an MIT student. This is a hunt on MIT campus, and there are puzzles that require physical presence on campus (at least they were clearly marked as such (after some time)). But it sucks even more when the puzzle is about some local MIT stuff and it is not marked as such.

    • We had a team of around 20 people, around 10 of whom were really active most of the time. We didn't try to win and we knew that we will be behind the competition. It started normally with only 3 puzzles, got to 10 by the end of the first day, still ok, but by Sunday they just dumped 40-50 more puzzles on us and this is very overwhelming.

    For me personally, the excitement outweighs all of these. But yes, there are bad things you should be aware of.

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

    A few years ago I did MITMH with a team of > 100 people. The team was very organized, and because of that I was able to do only puzzles (or parts of a puzzle) that I'm interested in (programming, tedious logic puzzle, etc) while completely ignore puzzles that I have no interest in (crossword, English word play, etc).

    I think it can be fun if you are able to join such a team. But otherwise it probably wouldn't be a very nice experience.

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

    There are lots of more gentle ways to get into puzzlehunts, especially given how many smaller/online hunts have popped up over the pandemic. These hunts are usually made for teams of ~4-10 people, and last around a week (top teams often finish in a few days). Here's a few I can think of in difficulty/size order:

    For more links, as Psyho said earlier, you can look at http://puzzlehuntcalendar.com/ for upcoming hunts, and https://www.puzzles.wiki/wiki/List_of_Puzzle_Hunts_by_Date has a growing archive of past hunts.

    Regarding culture, I think hunts are definitely a little US/Anglophone-country-centric (esp. some crossword clues), but at the same time most reference puzzles use datasets that are unknown to Americans too; the research is just part of the fun. I definitely agree that doing hunts in foreign languages/cultures is super tough, some teammates tried to do a Chinese hunt, and it totally handicapped their ability to know what's a puzzly pun/reference and what's just normal, or to error correct partially data. (Mystery Hunt in particular usually has some extra MIT-centric culture tossed in, because it is an MIT-hosted event after all, but most other hunts don't have the same.) Hopefully there's enough culture-neutral content to still be fun though!

    Mystery Hunt Spoiler
»
22 месяца назад, # |
  Проголосовать: нравится +85 Проголосовать: не нравится

So, as it turns out, I've been doing the MIT Mystery Hunt every year since 2004 (welcome to the wide, crazy world of puzzle hunts, Um_nik!), and also serving as a WF judge every year since 2004. And I just so happened to end up in the group solving Showcase this year. So you can imagine how surreal my experience was when, 2 hours in, we found the hidden message and I realized that the puzzle I'd been staring at was based on the contest I helped write 2 months ago!

The next revelation was that ecnerwala, right next door to me, had been inserting puzzle-fodder words into the broadcast that we judges had been watching on and off for the whole contest. I had no idea. And you're right that he didn't know the problems in advance: so, he had only 4 hours (during which he was working as a broadcaster) to go off and memorize his keyphrases. What a hilariously ballsy move.

My final crazy realization came when we realized that, for the final extraction step, they had actually written custom inputs for the problems that we'd written (which, I'll emphasize, they had no control over). Our group burst into laughter when I pointed out that I had exactly what we needed (the solutions) already stored on my laptop. Not only that, my personal github repo was going to be the best source for other teams to solve that step, too! (Fortunately, you could also solve the inputs by hand, but it's certainly easier to just run the solutions, and the puzzle's solution writeup explicitly links to my repo.)

I've been the author of a few MH puzzles, but this is certainly my first time being the subject and one of the canonical resources for a puzzle. What an amazing experience. Thanks ecnerwala, ksun48, and the other authors for absolutely making my Mystery Hunt! Oh, and the rest of the Hunt was amazing too. :)

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

    Haha, I didn't actually memorize the keyphrases; I had the spreadsheet open in front of me, I just had to improvise some convincing-sounding lines.