Not only is repairing the daisy wheel a demanding task, you also need to be able to use the printer once it's been restored to a working state.Needless to say it takes a while for this solution to stop printing gibberish.

Got an idea for a general solution that, given enough space, should solve with about the same speed for any vehicle length of 3 crates and above.So while I'm at it, might just as well do this:The Bus: kuvebit

I finally found a good solution for The Bus (kuvebit): pufunir. Any of my previous attempts always failed in corner cases.

It uses the same solution principle as my solution for The Jeep. It does not solve it at "about the same speed for any vehicle length of 3 crates and above", though. The solution time would be roughly linear in number of crates (assuming you can find enough space for more than the current 5 crates). So Werbad must have a different approach in mind.

Not only is repairing the daisy wheel a demanding task, you also need to be able to use the printer once it's been restored to a working state.Needless to say it takes a while for this solution to stop printing gibberish.

It's been a while since I made this solution but I think this is how it works:New crates are generated on a 20 tick cycle. On every cycle I first retrieve the value of the rightmost crate. At the end of the cycle, when the new crates arrive, I alternate between dropping F's on crate 1 and 3 and on crate 2 and 4.If either of the crates are F's the rightmost value is grabbed and stored in a circular buffer at the top left side of the machine.Since I check every second crate each cycle I can check all of the moving crates for F's every 2 cycles.

When all crates have been found and the buffer is full I deliver the contents of the buffer to the lower right and stop the crate cycle.Since the buffer crates will be 1 off from the target crates, the buffer includes a 1 crate which I use to correct the values.Finally I grab the last crate to end up on the rightmost matcher and subtract the buffer crates from this value, generating the final stream of crates under the matchers.