{"format":"murdoku-puzzle/1","id":"lake","version":1,"difficulty":"easy","level":3,"size":{"rows":5,"cols":5},"languages":["en","hu","de","fr","es","it","nl","pl","pt","ro","ca","cs","fi","vi","tr","el","ru","uk","ar","ko","ja","zh-Hans","zh-Hant"],"defaultLanguage":"en","title":"보트 호수","tagline":"빅토리아 시대의 도시 공원 · 1895년 7월의 어느 일요일 · 물 위의 배 세 척","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-29","story":"런던, 1895년 7월의 무더운 일요일 오후. 시립 공원에서는 취주악단이 악기를 조율하고 있었고, 노 젓는 배 세 척이 호수 위를 미끄러지고 있었으며, 장미 정원은 활짝 피었고, 카페 테라스에서는 그늘에서 레모네이드를 내주고 있었다. 팁을 절대 주지 않기로 유명한 은행가 Vyvyan은 신문을 들고 테라스의 테이블에 앉아 있었다. 네 시에 악단이 연주를 시작했을 때, 그는 그 테이블 옆에 쓰러진 채 발견되었다. 그의 근처에 있던 사람은 넷뿐이었고, 각자 한 문장으로 진술했다 – 누가 그와 단둘이 있었는지 밝혀내라.","rules":{"standard":["모든 <b>행</b>과 모든 <b>열</b>에는 정확히 <b>한 사람</b>이 있다. 누군가를 배치하는 즉시 그 사람의 행과 열 전체를 지워라.","<b>“옆”</b> = 바로 왼쪽, 오른쪽, 위, 아래이며 <b>같은 구역 안</b>이어야 한다. 물건이 있는 칸(테이블, 화단, 물, 부표, 분수)에는 있을 수 없고, 의자, 노 젓는 배, 벤치에는 있을 수 있다.","범인은 <b>피해자와 단둘이</b> 있었다: 그 구역에는 다른 누구도 없었다."],"special":[]},"roleNames":{"visitor":"방문객","staff":"직원","victim":"피해자"},"personGroups":[{"id":"visitors","name":"방문객","persons":["A","B","V"]},{"id":"staff","name":"공원 직원","persons":["C","D"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Café Terrace","cells":[[1,1],[1,2],[1,3],[2,1],[2,2],[3,1]],"fill":"#f1e3cf","pattern":"tiles","labelAt":[2,2],"name":"카페 테라스"},{"id":"Lake","cells":[[2,3],[2,4],[3,2],[3,3],[3,4],[4,2],[4,3]],"fill":"#cfe3ee","labelAt":[3,3],"name":"호수"},{"id":"Boathouse","cells":[[4,1],[5,1],[5,2]],"fill":"#e2d3b8","pattern":"planks","labelAt":[5,2],"name":"보트하우스"},{"id":"Rose Garden","cells":[[1,4],[1,5],[2,5],[3,5],[4,4],[4,5],[5,3],[5,4],[5,5]],"fill":"#f3dde3","pattern":"marble","labelAt":[4,4],"name":"장미 정원"}],"objectTypes":{"bench":{"occupiable":true,"name":"벤치","icon":"<rect x=\"7\" y=\"8\" width=\"3.2\" height=\"31\" fill=\"#5e4127\"/><rect x=\"35.8\" y=\"8\" width=\"3.2\" height=\"31\" fill=\"#5e4127\"/><rect x=\"4\" y=\"8\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#a5733f\" stroke=\"#4e3a1e\" stroke-width=\"1.3\"/><rect x=\"4\" y=\"17.5\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/><rect x=\"4\" y=\"25\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/><rect x=\"4\" y=\"32.5\" width=\"38\" height=\"6\" rx=\"1.5\" fill=\"#c08a50\" stroke=\"#6b4a26\" stroke-width=\"1.2\"/>"},"boat":{"occupiable":true,"name":"노 젓는 배","icon":"<path d=\"M5 25 q18 13 36 0 l-3 -9 h-30 z\" fill=\"#8a5a34\" stroke=\"#3f2d1d\" stroke-width=\"1.4\"/><rect x=\"12\" y=\"10\" width=\"22\" height=\"6\" rx=\"2\" fill=\"#d9d5cc\" stroke=\"#8c8a82\"/><rect x=\"21\" y=\"1\" width=\"4\" height=\"9\" fill=\"#3f2d1d\"/><path d=\"M5 25 q18 5 36 0\" fill=\"none\" stroke=\"#3f2d1d\" stroke-width=\"1\"/>"},"chair":{"occupiable":true,"name":"의자","icon":"<rect x=\"9\" y=\"7\" width=\"28\" height=\"32\" rx=\"6\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"9\" y=\"7\" width=\"28\" height=\"9\" rx=\"4\" fill=\"#d9d5cc\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/>"},"buoy":{"occupiable":false,"name":"부표","icon":"<ellipse cx=\"23\" cy=\"38\" rx=\"14\" ry=\"4\" fill=\"#ffffff\" opacity=\".6\"/><path d=\"M12 36 q1 -14 11 -18 q10 4 11 18 z\" fill=\"#e0362e\" stroke=\"#7a1f1c\" stroke-width=\"1.2\"/><rect x=\"21\" y=\"6\" width=\"3\" height=\"14\" fill=\"#444\"/><path d=\"M24 6 h14 l-14 9 z\" fill=\"#e0362e\"/><path d=\"M24 6 h14 l-14 9 z\" fill=\"none\" stroke=\"#fff\" stroke-width=\"1\"/><line x1=\"24\" y1=\"6\" x2=\"38\" y2=\"15\" stroke=\"#fff\" stroke-width=\"2\"/>"},"flowers":{"occupiable":false,"name":"화단","icon":"<path d=\"M17 28 h12 l-2 12 h-8 z\" fill=\"#c9c3b8\" stroke=\"#6b6660\" stroke-width=\"1.2\"/><circle cx=\"16\" cy=\"19\" r=\"5\" fill=\"#e0526a\"/><circle cx=\"30\" cy=\"19\" r=\"5\" fill=\"#f2a53a\"/><circle cx=\"23\" cy=\"12\" r=\"5\" fill=\"#f2d24a\"/><circle cx=\"23\" cy=\"22\" r=\"4.5\" fill=\"#d94a8a\"/><path d=\"M12 25 q6 -8 11 -6\" fill=\"none\" stroke=\"#3f8a4a\" stroke-width=\"2\"/><path d=\"M34 25 q-6 -8 -11 -6\" fill=\"none\" stroke=\"#3f8a4a\" stroke-width=\"2\"/>"},"fountain":{"occupiable":false,"name":"분수","icon":"<ellipse cx=\"23\" cy=\"33\" rx=\"18\" ry=\"8\" fill=\"#9fd3ea\" stroke=\"#4a7c95\" stroke-width=\"1.5\"/><rect x=\"19\" y=\"14\" width=\"8\" height=\"18\" fill=\"#b9b6ae\" stroke=\"#5b5852\"/><ellipse cx=\"23\" cy=\"14\" rx=\"10\" ry=\"4\" fill=\"#9fd3ea\" stroke=\"#4a7c95\"/><path d=\"M23 4 q-6 6 -4 10 M23 4 q6 6 4 10\" fill=\"none\" stroke=\"#7fb8d0\" stroke-width=\"2\"/>"},"table":{"occupiable":false,"name":"테이블","icon":"<rect x=\"7\" y=\"7\" width=\"32\" height=\"32\" rx=\"5\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><rect x=\"12\" y=\"12\" width=\"22\" height=\"22\" rx=\"3\" fill=\"#d1a675\"/>"},"water":{"occupiable":false,"name":"물","icon":"<rect x=\"0\" y=\"0\" width=\"46\" height=\"46\" fill=\"#3f7d9c\"/><path d=\"M-2 12 q6 -5 12 0 t12 0 t12 0 t12 0 M-2 24 q6 -5 12 0 t12 0 t12 0 t12 0 M-2 36 q6 -5 12 0 t12 0 t12 0 t12 0\" fill=\"none\" stroke=\"#2b5e79\" stroke-width=\"3.2\"/><path d=\"M-2 15 q6 -5 12 0 t12 0 t12 0 t12 0 M-2 27 q6 -5 12 0 t12 0 t12 0 t12 0 M-2 39 q6 -5 12 0 t12 0 t12 0 t12 0\" fill=\"none\" stroke=\"rgba(255,255,255,.42)\" stroke-width=\"1.5\"/>"}},"wallTypes":{},"objects":[{"cell":[1,1],"type":"chair"},{"cell":[1,2],"type":"table"},{"cell":[1,3],"type":"chair"},{"cell":[1,5],"type":"flowers"},{"cell":[2,1],"type":"flowers"},{"cell":[2,3],"type":"water"},{"cell":[2,4],"type":"boat"},{"cell":[3,2],"type":"boat"},{"cell":[3,3],"type":"water"},{"cell":[3,4],"type":"water"},{"cell":[3,5],"type":"bench"},{"cell":[4,1],"type":"chair"},{"cell":[4,2],"type":"water"},{"cell":[4,3],"type":"boat"},{"cell":[5,1],"type":"buoy"},{"cell":[5,4],"type":"fountain"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Adelaide","gender":"F","role":"visitor","color":"#c62828","avatar":{"bg":"#35607a","skin":"#f6d8c0","hair":"#7a4a2a","style":"bun","shirt":"#2f3b4c","necklace":true},"clue":"그녀는 <b>마지막 열</b>에 있었다.","job":"쉬는 오후를 맞은 가정교사","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Adelaide\"><rect width=\"80\" height=\"80\" fill=\"#35607a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2f3b4c\"/><path d=\"M31 58 Q40 66 49 58\" fill=\"none\" stroke=\"#f3e2b3\" stroke-width=\"2\" stroke-dasharray=\"2 2\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><circle cx=\"40\" cy=\"15\" r=\"7\" fill=\"#7a4a2a\"/><path d=\"M26 32 Q26 16 40 16 Q54 16 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#7a4a2a\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/></svg>","solverRole":"visitor","constraints":[{"type":"col","cols":[5]}]},{"id":"B","name":"Barnabas","gender":"M","role":"visitor","color":"#2e7d32","avatar":{"bg":"#1b2a33","skin":"#e4b998","hair":"#e8e4dc","style":"short","shirt":"#264653","beard":true,"cap":true},"clue":"그는 <b>노 젓는 배</b>에 앉아 있었다.","job":"은퇴한 선장","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Barnabas\"><rect width=\"80\" height=\"80\" fill=\"#1b2a33\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#264653\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e4b998\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e4b998\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#e8e4dc\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#e8e4dc\"/><path d=\"M24 24 Q24 11 40 11 Q56 11 56 24 Z\" fill=\"#22406f\"/><rect x=\"22\" y=\"22\" width=\"36\" height=\"5\" rx=\"2\" fill=\"#12213a\"/><circle cx=\"40\" cy=\"18\" r=\"2.6\" fill=\"#f0b429\"/></svg>","solverRole":"visitor","constraints":[{"type":"on","obj":"boat"}]},{"id":"C","name":"Clarissa","gender":"F","role":"staff","color":"#1565c0","avatar":{"bg":"#ad1457","skin":"#f3d3b5","hair":"#d9b464","style":"ponytail","shirt":"#e26d8a","headband":"#f2a53a"},"clue":"그녀는 <b>첫 번째 행</b>에 있었다.","job":"공원 입구의 꽃 파는 소녀","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Clarissa\"><rect width=\"80\" height=\"80\" fill=\"#ad1457\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#d9b464\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#e26d8a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f3d3b5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f3d3b5\"/><path d=\"M26 33 Q26 16 40 16 Q54 16 54 33 Q50 24 40 24 Q30 24 26 33 Z\" fill=\"#d9b464\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><rect x=\"26\" y=\"23\" width=\"28\" height=\"5\" rx=\"2\" fill=\"#f2a53a\"/></svg>","solverRole":"staff","constraints":[{"type":"row","rows":[1]}]},{"id":"D","name":"Dudley","gender":"M","role":"staff","color":"#6a1b9a","avatar":{"bg":"#3f6a3a","skin":"#e7b98f","hair":"#3a2a1c","style":"short","shirt":"#5d4037","mustache":true,"mustacheColor":"#3a2a1c","cap":true},"clue":"그는 <b>화단</b> 옆에 있었다. 그는 <b>테이블</b> 옆에 <b>있지 않았다</b>.","job":"보트 관리인","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dudley\"><rect width=\"80\" height=\"80\" fill=\"#3f6a3a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#5d4037\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e7b98f\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e7b98f\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#3a2a1c\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#3a2a1c\"/><path d=\"M24 24 Q24 11 40 11 Q56 11 56 24 Z\" fill=\"#22406f\"/><rect x=\"22\" y=\"22\" width=\"36\" height=\"5\" rx=\"2\" fill=\"#12213a\"/><circle cx=\"40\" cy=\"18\" r=\"2.6\" fill=\"#f0b429\"/></svg>","solverRole":"staff","constraints":[{"type":"beside","obj":"flowers"},{"type":"not_beside","obj":"table"}]},{"id":"V","name":"Vyvyan","gender":"M","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#f1c8a5","hair":"#8a8278","style":"slick","shirt":"#1b1b1b","mustache":true,"mustacheColor":"#8a8278","tophat":"#1b1b1b"},"clue":"<b>피해자.</b> 그는 <b>카페 테라스</b>에서, <b>테이블</b> 옆에서 발견되었다 – 범인과 단둘이.","job":"팁을 준 적이 없는 은행가","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Vyvyan\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1b1b1b\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f1c8a5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1c8a5\"/><path d=\"M26 30 Q27 16 44 15 Q56 15 55 26 Q48 22 40 23 Q30 24 26 30 Z\" fill=\"#8a8278\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#8a8278\"/><rect x=\"26\" y=\"0\" width=\"28\" height=\"26\" rx=\"2\" fill=\"#1b1b1b\"/><rect x=\"19\" y=\"24\" width=\"42\" height=\"6\" rx=\"3\" fill=\"#1b1b1b\" stroke=\"rgba(0,0,0,.25)\"/><rect x=\"26\" y=\"19\" width=\"28\" height=\"5\" fill=\"#c9a03a\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"visitor","constraints":[{"type":"area","areas":["Café Terrace"]},{"type":"beside","obj":"table"}]}],"victim":"V","murderer":"D","solution":{"C":[1,4],"V":[2,2],"D":[3,1],"B":[4,3],"A":[5,5]},"walkthrough":[{"place":["D"],"cand":{"A":[[2,5],[4,5],[5,5]],"B":[[2,4],[4,3]],"C":[[1,3],[1,4]]},"text":"Dudley는 화단 옆에 있었지만 테이블 옆에는 없었다. 화단은 장미 정원의 R1C5와 카페 테라스의 R2C1에 있다. 같은 구역에서 그 옆 칸은 R1C4, R2C5, R1C1, R2C2, R3C1이며, R1C1과 R2C2는 테이블 옆이기도 하다. 남는 것은 R1C4, R2C5, R3C1이다. R1C4는 첫 번째 행에 있는데, 이는 Clarissa가 가질 수 있는 유일한 행이다. R2C5는 마지막 열에 있는데, 이는 Adelaide가 가질 수 있는 유일한 열이다. 따라서 <b>Dudley는 R3C1에 있다</b>. 이제 다른 누구도 3행이나 1열을 쓸 수 없다."},{"place":["B"],"cand":{"A":[[5,5]],"C":[[1,4]],"V":[[2,2]]},"text":"이제 열을 보자. Barnabas는 자기 배 중 하나인 R2C4나 R4C3에 있고, Clarissa는 R1C3이나 R1C4에 있다. 둘이 합쳐 3열과 4열을 채운다. Adelaide가 5열, Dudley가 1열을 차지하므로 2열이 남는다. 2열은 피해자의 것이어야 한다. 이 열의 빈 칸은 R2C2와 R5C2이다 (R1C2는 테이블, R4C2는 물, 3행은 Dudley의 것이다). R5C2에서는 피해자가 보트하우스에 혼자 있었을 것이다 – 보트하우스의 나머지 두 칸은 Dudley의 열에 있다 – 그러나 범인이 그와 함께 있었다. 따라서 피해자는 2행에 있고, Barnabas는 그 행을 쓸 수 없다. <b>Barnabas는 R4C3의 배에 있다</b>."},{"place":["C","A"],"cand":{"V":[[2,2]]},"text":"3열은 이제 Barnabas의 것이므로 <b>Clarissa는 R1C4에 있다</b>. 2행과 4행은 이미 찼으므로 <b>Adelaide는 R5C5에 있다</b>."},{"final":true,"text":"사건 종결: 마지막 빈 칸 R2C2는 피해자의 것이다 – 카페 테라스에서, 테이블 옆에 있는데, 그의 카드에 적힌 그대로이다. 물론 우리는 그것이 필요하지 않았다. Vyvyan은 그곳에서 보트 관리인과 단둘이 있었다. <b>Dudley가 범인이다!</b>"}],"solver":{"rules":[],"occupiable":["bench","boat","chair"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-29"}}