I take a strong objection to your assertion that “while this question is open, unlocked, and still seen as a valid question, it is setting a bad example for the whole Stack Exchange network.” No, this is not a bad question.
There is a clear statement of the scenario. There is a clear statement of the core objective. The requirements are slightly subpar: it's not at all clear what “the chosen person should be pseudo-random” is supposed to mean. But all in all, this is a decent question. The quality of the question sets a good example for Stack Exchange.
You have several objections to this question. I'll try to address them all (not in order), though it's a bit difficult because some of them aren't clearly formulated. One is that “even though there are some interesting answers on this question, (…) they will be completely undiscoverable”, as I understand it due to the lack of search keywords. I agree with the sentiment if not with the degree to which it is expressed. This is however irrelevant to whether to close this question or not. If the question lacks search keywords, edit it to add them.
You also object that “it would be a very basic one (at the fizz-buzz competency level)”. The assertion that the question is very basic is completely ludicrous. Fizz-buzz is “code up this very simple thing”. Here, we have a modeling problem, which admits many potential solutions which can be evaluated according to several different metrics. The choice of metrics is an interesting modeling problem and the evaluation against this metrics is a computation problem whose difficulty depends on the algorithm and on the metric. If you think this question is trivial, you've let yourself be blinded by the croissants and you're reading the question for presentation and not for meaning.
You also state that the question “looks more like a populist attempt to farm reputation than a serious question”. I don't see where you get this. To me it looks like the asker has the genuine problem of bringing croissants to work — it doesn't get more concrete than that. If you think this isn't a serious question, the burden is on you to prove it. Furthermore, here the test is in the appearance and not in the essence: we care about the question as it is, not about the asker's motivation, which the ones among us who aren't telepathic cannot possibly know. Therefore the burden is also on you to prove that it is harmful.
So far I don't see how any of your arguments justify closing the question.
The “minimal understanding” close reason, or, Stack Overflow as a debugging service
Oddly, you don't mention the objection which was chosen by several close voters: “Questions asking for code must demonstrate a minimal understanding of the problem being solved.” On face value, this is completely bogus: the problem is clearly understood and stated, there has been a decent amount of thought about what kind of difficulties must be tackled (fairness, absences). The point of the “minimal understanding” close reason is to avoid wasting time on questions where the asker is so out of his depth that he will not be able to gain any useful knowledge and understanding from the answers. It's for those “I read one Java tutorial, how do I write an Angry Birds clone?” questions — though in most cases it's redundant with “too broad”. Here, it's clearly apparent that a typical answer would be useful and perfectly comprehensible at the asker's level.
Now there is a school of thought that all questions on Stack Overflow must include, in the words of the advice on the close reason, “attempted solutions, why they didn't work, and the expected results”. This is good advice for a majority of the questions asked on Stack Overflow. “I have a programming problem, help” is no good. “Here are my requirements, here's what I tried and where I'm stuck”, complete with code and error messages, is how you get help. But not every question on Stack Overflow is about fixing an attempted solution. Or at least, that's not how it should be.
What's so bad about a debugging service?
Hey, I'm not saying that it's bad to be a debugging service. But it isn't Stack Exchange's core strength.
For a long time, the about page described Stack Exchange as drawing from wikis, share-and-vote sites, blogs and forums. “How do I fix this program?” is best suited for forums. Wikis need a structure, so that you can find the right page. A debugging service works differently: there's no good indexing schemes for buggy programs. Share-and-vote is secondary: a debugging service requires content to be provided in the form of solutions to make the program work. Blogs are inadapted because they're completely focused on the initial content, whereas the most important part of a debugging service is the solutions.
Can a debugging service work in questions and answers format? Sure. “How do I fix this program?” requires two layers, the buggy program and the solutions, which fit exactly as questions and answers. But it's not a perfect fit. It lacks an important thing: reproducibility. No two people have exactly the same program to debug. In the end, the useful thing that emerges from the question is a working way of accomplishing the task. And “How do I accomplish this?” is a much better way to phrase the question, because it is shared by everyone who wants the same result.
To limit Stack Overflow to a debugging service is harmful because it significantly reduces its usefulness to people who are looking for the knowledge. If I have a programming problem, I'll go and look for how others have solved it. How others have attempted but failed to solve it is mostly irrelevant. (It can help warn me that I'm looking in the wrong place, or give me inspiration, but that's secondary.) What do I care about how much effort the original asker put into the question? Not a whit. To base a question's purely on the effort expended by the asker neglects its value for others. And that is a critical difference between Stack Exchange posts and forum posts: forum posts are for that one time, Stack Exchange answers are supposed to be forever.
To limit Stack Overflow to a debugging service is also harmful because it devalues the work performed by answerers. So you put in some effort into solving the problem, explaining how it's done, writing working code? Nah, it's not important. We'll close the question and make you do it again next month, when someone else comes along trying to solve exactly the same problem but going about it in a slightly different way. Sorry buddy, but Stack Overflow is all about pointing out the syntax error on line 3.
So what about this question?
I do have one reservation about this question. Not its quality — I've just ranted on and on to explain how the question is fine for Stack Exchange. But is it really on-topic for Stack Overflow? The question isn't exactly about a programming problem. There's a real-world problem, and the question is to device an algorithm to solve that problem. It's a bit borderline between programming and applied computer science.
Now this kind of modeling is common enough in the daily life of a programmer that I think it can fit under “software algorithms”. But I admit that it is marginal. For this reason, I have so far refrained from voting to reopen the question.
Questions about designing or analyzing algorithms (as opposed to questions about implementing them) may find a better home on Computer Science. I've reposted the question there) (formulated in my own words).