Skip to content

Instantly share code, notes, and snippets.

@thotypous
Created December 30, 2018 17:06
Show Gist options
  • Save thotypous/38f2281356e266b3fd5a56cc7a65f376 to your computer and use it in GitHub Desktop.
Save thotypous/38f2281356e266b3fd5a56cc7a65f376 to your computer and use it in GitHub Desktop.
35C3 Juggle challenge solution
<?xml version="1.0" encoding="UTF-8"?>
<meal>
<course> <!-- #0 -->
<!-- jump if there are iterations to do -->
<plate><paella>5</paella></plate> <!-- course number -->
<plate><paella>1</paella></plate>
<plate><불고기/></plate>
<plate><æblegrød/></plate>
<!-- otherwise print flag and exit -->
<plate><दाल/></plate>
</course>
<course> <!-- #1 -->
<!-- inicio fim -> meio inicio fim -->
<plate><paella>2</paella></plate>
<plate><paella>2</paella></plate>
<plate><불고기/></plate>
<plate><paella>2</paella></plate>
<plate><불고기/></plate>
<plate><rösti/></plate>
<plate><حُمُّص/></plate>
<!-- meio inicio fim -> (meio>chef) meio inicio fim -->
<plate><paella>0</paella></plate>
<plate><불고기/></plate>
<plate><ラーメン/></plate>
<!-- (meio>chef) meio inicio fim -> meio inicio fim -->
<!-- jump if (meio>chef) -->
<plate><paella>1</paella></plate>
<plate><paella>2</paella></plate> <!-- course number -->
<plate><köttbullar/></plate>
<plate><æblegrød/></plate>
<!-- if got here, then (meio<=chef) -->
<!-- meio inicio fim -> (meio+1) meio inicio fim -->
<plate><paella>0</paella></plate>
<plate><불고기/></plate>
<plate><paella>1</paella></plate>
<plate><rösti/></plate>
<!-- (meio+1) meio inicio fim -> (meio+1>chef) meio inicio fim -->
<plate><ラーメン/></plate>
<!-- (meio+1>chef) meio inicio fim -> meio inicio fim -->
<!-- jump if (meio+1>chef && meio<=chef <=> meio==chef) -->
<plate><paella>1</paella></plate>
<plate><paella>4</paella></plate> <!-- course number -->
<plate><köttbullar/></plate>
<plate><æblegrød/></plate>
<!-- if got here, then (meio<chef) -->
<!-- jump unconditionally -->
<plate><paella>3</paella></plate> <!-- course number -->
<plate><paella>1</paella></plate>
<plate><æblegrød/></plate>
</course>
<!-- if (meio>chef) -->
<course> <!-- #2 -->
<!-- meio inicio fim -> inicio meio -->
<!-- meio inicio fim -> meio 1 inicio fim -->
<plate><paella>1</paella></plate>
<plate><paella>1</paella></plate>
<plate><köttbullar/></plate>
<!-- meio 1 inicio fim -> inicio meio fim -->
<plate><köttbullar/></plate>
<!-- inicio meio fim -> inicio meio -->
<plate><paella>2</paella></plate>
<plate><γύρος/></plate>
<!-- jump back to bin search -->
<plate><paella>1</paella></plate> <!-- course number -->
<plate><paella>1</paella></plate>
<plate><æblegrød/></plate>
</course>
<!-- if (meio<chef) -->
<course> <!-- #3 -->
<!-- meio inicio fim -> meio fim -->
<plate><paella>1</paella></plate>
<plate><γύρος/></plate>
<!-- jump back to bin search -->
<plate><paella>1</paella></plate> <!-- course number -->
<plate><paella>1</paella></plate>
<plate><æblegrød/></plate>
</course>
<!-- if (meio==chef) -->
<course> <!-- #4 -->
<!-- meio inicio fim -> inicio fim -->
<plate><Борщ/></plate>
<!-- inicio fim -> (vazio) -->
<plate><rösti/></plate>
<plate><paella>0</paella></plate>
<plate><γύρος/></plate>
<!-- jump unconditionally -->
<plate><paella>0</paella></plate> <!-- course number -->
<plate><paella>1</paella></plate>
<plate><æblegrød/></plate>
</course>
<course> <!-- #5 -->
<!-- iterations -> (iterations-1) -->
<plate><paella>-1</paella></plate>
<plate><rösti/></plate>
<!-- inicio=0 fim=4294967296 -->
<plate><paella>4294967296</paella></plate>
<plate><paella>0</paella></plate>
<!-- jump unconditionally -->
<plate><paella>1</paella></plate> <!-- course number -->
<plate><paella>1</paella></plate>
<plate><æblegrød/></plate>
</course>
<state><drinks><value>5</value></drinks></state>
</meal>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment