fork(3) download
  1. #!/usr/bin/env python
  2.  
  3. # FOLD = { operation:(front side fold, back side fold), ... }
  4. # '0':front side paper, '1':back side paper, 'm':mountain fold, 'V':valley fold
  5. FOLD = {'L':('1V0','1m0'), 'J':('0V1','0m1'), 'Z':('0m1V0','1m0V1'), 'U':('1V0V1','0m1m0'), 'S':('0V1m0','1V0m1'), '':('','')}
  6.  
  7. solve = lambda operation, side=0: ''.join(solve(operation[1:], int(f)) if f in '01' else f for f in FOLD[operation[:1]][side])
  8.  
  9. def test(data, correct):
  10. answer = solve(data)
  11. print 'xo'[answer==correct], data, correct, answer
  12.  
  13. 0, test( "JZ", "mVVmV" );
  14. 1, test( "J", "V" );
  15. 2, test( "L", "V" );
  16. 3, test( "Z", "mV" );
  17. 4, test( "U", "VV" );
  18. 5, test( "S", "Vm" );
  19. 6, test( "JL", "VVm" );
  20. 7, test( "JS", "VmVVm" );
  21. 8, test( "JU", "VVVmm" );
  22. 9, test( "LU", "mmVVV" );
  23. 10, test( "SL", "VVmmV" );
  24. 11, test( "SS", "VmVVmmVm" );
  25. 12, test( "SU", "VVVmmmVV" );
  26. 13, test( "SZ", "mVVmVmmV" );
  27. 14, test( "UL", "mVVVm" );
  28. 15, test( "UU", "mmVVVVmm" );
  29. 16, test( "UZ", "mVVmVVmV" );
  30. 17, test( "ZJ", "VmmVV" );
  31. 18, test( "ZS", "VmmVmVVm" );
  32. 19, test( "ZZ", "mVmmVVmV" );
  33. 20, test( "JJJ", "VVmVVmm" );
  34. 21, test( "JJZ", "mVVmVVmVmmV" );
  35. 22, test( "JSJ", "VVmmVVmVVmm" );
  36. 23, test( "JSS", "VmVVmmVmVVmVVmmVm" );
  37. 24, test( "JUS", "VmVVmVVmVVmmVmmVm" );
  38. 25, test( "JUU", "mmVVVVmmVVVmmmmVV" );
  39. 26, test( "JUZ", "mVVmVVmVVmVmmVmmV" );
  40. 27, test( "LJJ", "VmmVVVm" );
  41. 28, test( "LLS", "VmmVmVVmVVm" );
  42. 29, test( "LLU", "mmmVVVmmVVV" );
  43. 30, test( "LLZ", "mVmmVVmVVmV" );
  44. 31, test( "LSU", "mmVVVmmmVVVVmmmVV" );
  45. 32, test( "LSZ", "mVVmVmmVVmVVmVmmV" );
  46. 33, test( "LZL", "mmVVmVVmmVV" );
  47. 34, test( "LZS", "VmmVmVVmVVmmVmVVm" );
  48. 35, test( "LZU", "mmmVVVmmVVVmmmVVV" );
  49. 36, test( "SJL", "VVmVVmmmVVm" );
  50. 37, test( "SLU", "mmVVVVmmmVVmmmVVV" );
  51. 38, test( "SLZ", "mVVmVVmVmmVmmVVmV" );
  52. 39, test( "SSU", "VVVmmmVVVmmVVVmmmmVVVmmmVV" );
  53. 40, test( "SUJ", "mVVVmVVmmmVmmVVVm" );
  54. 41, test( "SUS", "VmVVmVVmVVmmVmmVmmVmVVmVVm" );
  55. 42, test( "SZZ", "mVmmVVmVVmVmmVVmVmmVmmVVmV" );
  56. 43, test( "UJJ", "VmmVVVmVVmm" );
  57. 44, test( "ULU", "mmmVVVmmVVVVmmmVV" );
  58. 45, test( "ULZ", "mVmmVVmVVmVVmVmmV" );
  59. 46, test( "UUU", "VVmmmmVVVmmVVVVmmVVVmmmmVV" );
  60. 47, test( "ZJU", "VVVmmmVVmmmVVVVmm" );
  61. 48, test( "ZLS", "VmVVmmVmmVmVVmVVm" );
  62. 49, test( "ZSJ", "VVmmVmmVVmmVVVmmV" );
  63. 50, test( "ZUJ", "mVVVmmVmmmVVmVVVm" );
  64. 51, test( "JJLJ", "mVVVmmVVmVVmmmV" );
  65. 52, test( "JLJJ", "VmmVVVmVVmmmVVm" );
  66. 53, test( "JLJL", "VmmVVVmVVmmmVVm" );
  67. 54, test( "LJJL", "VVmmVmmVVVmVVmm" );
  68. 55, test( "LLJJ", "VmmmVVmVVmmVVVm" );
  69. 56, test( "SZUS", "VmVVmVVmmVmmVmmVmVVmVVmVVmVVmmVmmVmmVmVVmVVmVVmmVmmVmmVmVVmVVmmVmmVmmVmVVmVVmVVm" );
  70. 57, test( "ULLS", "VmmVmmVmVVmVVmmVmVVmVVmVVmmVmmVmVVm" );
  71. 58, test( "JJJJZJ", "VmmVVVmmVVmVVmmVVmmmVVmVVmmVVVmmVVmmVmmVVmmmVVmVVmmVVVmmVVmVVmmVVmmmVVmmVmmVVVmmVVmmVmmVVmmmVVm" );
  72. 59, test( "JULLLJ", "mmVmmVVmmmVVmVVVmmVmmVVVmmVVmVVVmmVmmVVmmmVVmVVVmmVmmVVVmmVVmVVmmmVmmVVmmmVVmVVmmmVmmVVVmmVVmVV" );
  73. 60, test( "LJJJUL", "mVVVmVVmmmVVmVVVmmVmmmVmmVVVmVVmmmVmmVVVmmVmmmVVmVVVmVVmmmVVmVVVmmVmmmVVmVVVmVVmmmVmmVVVmmVmmmV" );
  74. 61, test( "LJSJJL", "VVmVVmmVVVmmVmmmVVmVVmmmVVmmVmmVVVmVVmmmVVmmVmmVVVmVVmmVVVmmVmmmVVmVVmmVVVmmVmmVVVmVVmmmVVmmVmm" );
  75. 62, test( "LZLLLJ", "mmVmmVVmmmVVmVVmmmVmmVVVmmVVmVVVmmVmmVVmmmVVmVVVmmVmmVVVmmVVmVVmmmVmmVVmmmVVmVVVmmVmmVVVmmVVmVV" );
  76. 63, test( "SJJJJL", "VVmVVmmVVVmmVmmVVVmVVmmmVVmmVmmVVVmVVmmVVVmmVmmmVVmVVmmmVVmmVmmmVVmVVmmVVVmmVmmVVVmVVmmmVVmmVmm" );
  77. 64, test( "ZLJLJL", "VmmVVVmmVmmmVVmVVmmVVVmVVmmmVVmmVmmVVVmmVmmmVVmmVmmVVVmVVmmmVVmVVmmVVVmmVmmmVVmVVmmVVVmVVmmmVVm" );
  78.  
Success #stdin #stdout 0.02s 7896KB
stdin
Standard input is empty
stdout
o JZ mVVmV mVVmV
o J V V
o L V V
o Z mV mV
o U VV VV
o S Vm Vm
o JL VVm VVm
o JS VmVVm VmVVm
o JU VVVmm VVVmm
o LU mmVVV mmVVV
o SL VVmmV VVmmV
o SS VmVVmmVm VmVVmmVm
o SU VVVmmmVV VVVmmmVV
o SZ mVVmVmmV mVVmVmmV
o UL mVVVm mVVVm
o UU mmVVVVmm mmVVVVmm
o UZ mVVmVVmV mVVmVVmV
o ZJ VmmVV VmmVV
o ZS VmmVmVVm VmmVmVVm
o ZZ mVmmVVmV mVmmVVmV
o JJJ VVmVVmm VVmVVmm
o JJZ mVVmVVmVmmV mVVmVVmVmmV
o JSJ VVmmVVmVVmm VVmmVVmVVmm
o JSS VmVVmmVmVVmVVmmVm VmVVmmVmVVmVVmmVm
o JUS VmVVmVVmVVmmVmmVm VmVVmVVmVVmmVmmVm
o JUU mmVVVVmmVVVmmmmVV mmVVVVmmVVVmmmmVV
o JUZ mVVmVVmVVmVmmVmmV mVVmVVmVVmVmmVmmV
o LJJ VmmVVVm VmmVVVm
o LLS VmmVmVVmVVm VmmVmVVmVVm
o LLU mmmVVVmmVVV mmmVVVmmVVV
o LLZ mVmmVVmVVmV mVmmVVmVVmV
o LSU mmVVVmmmVVVVmmmVV mmVVVmmmVVVVmmmVV
o LSZ mVVmVmmVVmVVmVmmV mVVmVmmVVmVVmVmmV
o LZL mmVVmVVmmVV mmVVmVVmmVV
o LZS VmmVmVVmVVmmVmVVm VmmVmVVmVVmmVmVVm
o LZU mmmVVVmmVVVmmmVVV mmmVVVmmVVVmmmVVV
o SJL VVmVVmmmVVm VVmVVmmmVVm
o SLU mmVVVVmmmVVmmmVVV mmVVVVmmmVVmmmVVV
o SLZ mVVmVVmVmmVmmVVmV mVVmVVmVmmVmmVVmV
o SSU VVVmmmVVVmmVVVmmmmVVVmmmVV VVVmmmVVVmmVVVmmmmVVVmmmVV
o SUJ mVVVmVVmmmVmmVVVm mVVVmVVmmmVmmVVVm
o SUS VmVVmVVmVVmmVmmVmmVmVVmVVm VmVVmVVmVVmmVmmVmmVmVVmVVm
o SZZ mVmmVVmVVmVmmVVmVmmVmmVVmV mVmmVVmVVmVmmVVmVmmVmmVVmV
o UJJ VmmVVVmVVmm VmmVVVmVVmm
o ULU mmmVVVmmVVVVmmmVV mmmVVVmmVVVVmmmVV
o ULZ mVmmVVmVVmVVmVmmV mVmmVVmVVmVVmVmmV
o UUU VVmmmmVVVmmVVVVmmVVVmmmmVV VVmmmmVVVmmVVVVmmVVVmmmmVV
o ZJU VVVmmmVVmmmVVVVmm VVVmmmVVmmmVVVVmm
o ZLS VmVVmmVmmVmVVmVVm VmVVmmVmmVmVVmVVm
o ZSJ VVmmVmmVVmmVVVmmV VVmmVmmVVmmVVVmmV
o ZUJ mVVVmmVmmmVVmVVVm mVVVmmVmmmVVmVVVm
o JJLJ mVVVmmVVmVVmmmV mVVVmmVVmVVmmmV
o JLJJ VmmVVVmVVmmmVVm VmmVVVmVVmmmVVm
o JLJL VmmVVVmVVmmmVVm VmmVVVmVVmmmVVm
o LJJL VVmmVmmVVVmVVmm VVmmVmmVVVmVVmm
o LLJJ VmmmVVmVVmmVVVm VmmmVVmVVmmVVVm
o SZUS VmVVmVVmmVmmVmmVmVVmVVmVVmVVmmVmmVmmVmVVmVVmVVmmVmmVmmVmVVmVVmmVmmVmmVmVVmVVmVVm VmVVmVVmmVmmVmmVmVVmVVmVVmVVmmVmmVmmVmVVmVVmVVmmVmmVmmVmVVmVVmmVmmVmmVmVVmVVmVVm
o ULLS VmmVmmVmVVmVVmmVmVVmVVmVVmmVmmVmVVm VmmVmmVmVVmVVmmVmVVmVVmVVmmVmmVmVVm
o JJJJZJ VmmVVVmmVVmVVmmVVmmmVVmVVmmVVVmmVVmmVmmVVmmmVVmVVmmVVVmmVVmVVmmVVmmmVVmmVmmVVVmmVVmmVmmVVmmmVVm VmmVVVmmVVmVVmmVVmmmVVmVVmmVVVmmVVmmVmmVVmmmVVmVVmmVVVmmVVmVVmmVVmmmVVmmVmmVVVmmVVmmVmmVVmmmVVm
o JULLLJ mmVmmVVmmmVVmVVVmmVmmVVVmmVVmVVVmmVmmVVmmmVVmVVVmmVmmVVVmmVVmVVmmmVmmVVmmmVVmVVmmmVmmVVVmmVVmVV mmVmmVVmmmVVmVVVmmVmmVVVmmVVmVVVmmVmmVVmmmVVmVVVmmVmmVVVmmVVmVVmmmVmmVVmmmVVmVVmmmVmmVVVmmVVmVV
o LJJJUL mVVVmVVmmmVVmVVVmmVmmmVmmVVVmVVmmmVmmVVVmmVmmmVVmVVVmVVmmmVVmVVVmmVmmmVVmVVVmVVmmmVmmVVVmmVmmmV mVVVmVVmmmVVmVVVmmVmmmVmmVVVmVVmmmVmmVVVmmVmmmVVmVVVmVVmmmVVmVVVmmVmmmVVmVVVmVVmmmVmmVVVmmVmmmV
o LJSJJL VVmVVmmVVVmmVmmmVVmVVmmmVVmmVmmVVVmVVmmmVVmmVmmVVVmVVmmVVVmmVmmmVVmVVmmVVVmmVmmVVVmVVmmmVVmmVmm VVmVVmmVVVmmVmmmVVmVVmmmVVmmVmmVVVmVVmmmVVmmVmmVVVmVVmmVVVmmVmmmVVmVVmmVVVmmVmmVVVmVVmmmVVmmVmm
o LZLLLJ mmVmmVVmmmVVmVVmmmVmmVVVmmVVmVVVmmVmmVVmmmVVmVVVmmVmmVVVmmVVmVVmmmVmmVVmmmVVmVVVmmVmmVVVmmVVmVV mmVmmVVmmmVVmVVmmmVmmVVVmmVVmVVVmmVmmVVmmmVVmVVVmmVmmVVVmmVVmVVmmmVmmVVmmmVVmVVVmmVmmVVVmmVVmVV
o SJJJJL VVmVVmmVVVmmVmmVVVmVVmmmVVmmVmmVVVmVVmmVVVmmVmmmVVmVVmmmVVmmVmmmVVmVVmmVVVmmVmmVVVmVVmmmVVmmVmm VVmVVmmVVVmmVmmVVVmVVmmmVVmmVmmVVVmVVmmVVVmmVmmmVVmVVmmmVVmmVmmmVVmVVmmVVVmmVmmVVVmVVmmmVVmmVmm
o ZLJLJL VmmVVVmmVmmmVVmVVmmVVVmVVmmmVVmmVmmVVVmmVmmmVVmmVmmVVVmVVmmmVVmVVmmVVVmmVmmmVVmVVmmVVVmVVmmmVVm VmmVVVmmVmmmVVmVVmmVVVmVVmmmVVmmVmmVVVmmVmmmVVmmVmmVVVmVVmmmVVmVVmmVVVmmVmmmVVmVVmmVVVmVVmmmVVm