top 76 comments

sorted by: hot top controversial new old
[–] 182 points 5 months ago (5 children)
  • [–] 93 points 5 months ago* (last edited 5 months ago) (8 children)

    Tap for spoilerLine 15, end of the line

    🙏 2
  • source
  • hideshow 8 child comments
  • [–] 55 points 5 months ago
    [–] 24 points 5 months ago (5 children)
  • [–] 19 points 5 months ago (3 children)

    Found it. I wonder what the designer did to make sure to have exactly one cow in there.

  • source
  • hideshow 3 child comments
  • [–] 6 points 5 months ago (1 child)

    What I would have done is started filling in letters randomly and every time a C or W ends up next to an O, choose the same letter or an O to put on the opposite side of the O.

    Its hard to prove, but I’m pretty sure there isn't a situation where a space can’t be filled in with this algorithm.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 5 months ago

    Yes, this would work — but it comes with a subtle statistical bias: the character 'W' ends up underrepresented. With a naïve “avoid COW” approach, only about 25% of the grid will typically be 'W'.

    A more elegant solution would be:

    • fill the grid completely at random
      • search for every "COW" cluster
        • whenever one is found, copy a random character from one cell in the cluster into another cell of the same cluster
      • Iterate until no "COW" remains

    That keeps the distribution much closer to uniform while still guaranteeing a valid puzzle. Then just insert the single "COW" manually wherever you want the hidden solution to be.

    Julia code example

    s= (320,180)            #size
    m=rand(['C','O','W'],s) #random init
    c=1
    while c>0      #iterate till solved
        c=0
        for i in 1:first(s)
            for j in 1:last(s)
    
                #check for 'COW' in each cluster of 3 and copy a character
                #from a rendom cell to an other random cell of the cluster if found
                
                if i>2 &&  m[i-2:i,j] ==['C','O','W']   #vertical
                    c +=1
                    r =shuffle([1,2])
                    m[i-r[1],j] = m[i-r[2],j]
                end
                if j>2 && m[i,j-2:j]  ==['C','O','W']   #horizontal
                    c +=1
                    r =shuffle([0,1,2])
                    m[i,j-r[1]] = m[i,j-r[2]]
                end
            end
        end
    end
    

    The neat part is that this preserves an almost perfectly balanced character frequency.

    For comparison, the puzzle in the example image seems to contain roughly:

    C: ~260 (~25%) O: ~520 (~50%) W: ~244 (~25%)

    So the original author clearly used a different generation strategy.

    Possibly on purpose: visually, 'C' and 'O' are much easier to confuse than 'W'. Reducing the number of 'W's therefore increases the search difficulty. In that sense, the approach suggested by @Snazz@lemmy.world is probably preferable: keep the distribution mostly balanced, but intentionally bias it just enough to make the puzzle psychologically annoying.

    I wonder if there is a non iterative way to generate this puzzle with a 'uniform' character distribution 🤔

  • source
  • parent
  • [–] 18 points 5 months ago (1 child)
  • [–] 16 points 5 months ago

    This is impossible, it is not circled in red like it's supposed to.

  • source
  • [–] 58 points 5 months ago (2 children)
  • [–] 43 points 5 months ago (1 child)
  • [–] 14 points 5 months ago

    I found one!

    But first, I found "wowcoc"

  • source
  • [–] 11 points 5 months ago (3 children)

    Didn't find no cow, found a lot of coc tho

  • source
  • hideshow 3 child comments
  • [–] 11 points 5 months ago

    Many, many cocs.

  • source
  • [–] 9 points 5 months ago

    i almost lost focus before finding it because of all the owo's

  • source
  • [–] 9 points 5 months ago (1 child)
    load more comments (1 reply)
    [–] 8 points 5 months ago (1 child)
  • [–] 7 points 5 months ago

    I found coooooooc :)

  • source
  • [–] 21 points 5 months ago (2 children)
  • [–] 6 points 5 months ago
    [–] 6 points 5 months ago* (last edited 5 months ago) (1 child)

    ::: spoiler Spoiler Row 15. I like those puzzles, but it makes the most sense to scan from the left if that's your method and it's almost entirely to the right.

  • source
  • hideshow 1 child comment
  • [–] 6 points 5 months ago

    This is actually genius, I'm not gonna lie.

  • source
  • [–] 5 points 5 months ago

    Now I cant unsee it

  • source
  • [–] 12 points 5 months ago (1 child)

    It's 15 lines down on the right side

  • source
  • hideshow 1 child comment
  • [–] 4 points 5 months ago

    Found one cock instead

  • source
  • [–] 9 points 5 months ago (2 children)
  • [–] 3 points 5 months ago (1 child)

    This is one of those things a computer could do instantaneously, but a human can not.

    Cowever, ask a computer to find a how IRL, and it just sits there on your desk and blinks at you.

  • source
  • hideshow 1 child comment
  • [–] 6 points 5 months ago

    Easy. Now find cooocwcoc.

  • source
  • [–] 2 points 5 months ago
    [–] 2 points 5 months ago (2 children)
  • [–] 2 points 5 months ago

    It’s right under COCOOW

  • source
  • [–] 1 point 5 months ago

    I wonder if COD would have been harder

  • source
  • [–] 1 point 5 months ago

    Lmao! Reminds me of findtheinvisiblecow.com. Similar

  • source
  • [–] 1 point 5 months ago

    Somehow my eyes went right to the correct position

  • source
  • [–] 1 point 5 months ago*

    I can honestly say I've never been impressed enough to utter "ccooooc wwow"

  • source
  • [–] 1 point 5 months ago

    Found it too

  • source
  • [–] 1 point 5 months ago* (2 children)

    Line 15 3rd letter from the right.

  • source
  • hideshow 2 child comments
  • [–] 1 point 5 months ago

    5th column from the left. About halfway down.

  • source