{"format":"murdoku-puzzle/1","id":"bikeshop","version":1,"difficulty":"easy","level":4,"size":{"rows":8,"cols":8},"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":"자전거 정비소 · 어느 봄날 토요일 · 주인은 창고에서 돌아오지 않았다","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-10-06","story":"봄의 첫 따뜻한 토요일, 자전거 정비소는 문을 열 때부터 발 디딜 틈이 없었다. 다들 시즌에 맞춰 자전거를 손보고 싶어 했다. 주인 Veerle는 카운터와 작업장 사이를 뛰어다녔고, 직원 세 명은 타이어를 때우고 변속기를 조정하고 벨을 팔았다. 손님 네 명이 차례를 기다리고 있었는데, 몇몇은 벌써 두 시간째였다. 어느 순간 Veerle는 예비 부품을 가지러 창고에 들어갔다. 삼십 분 뒤 Anneke가 그녀를 찾으러 갔을 때, 상자들 사이에서 숨진 그녀를 발견했다. 경찰은 직원 세 명과 손님 네 명을 조사했고, 모두 주인이 사라졌을 때 어디에 있었는지 말했다.","rules":{"standard":["모든 <b>행</b>과 모든 <b>열</b>에는 정확히 <b>한 사람</b>이 있다. 누군가를 배치하는 즉시 그 사람의 행과 열 전체를 지워라.","<b>“옆”</b> = 바로 왼쪽, 오른쪽, 위, 아래이며 <b>같은 구역 안</b>이어야 한다. 물건(자전거, 카운터, 나무, 책상, 선반, 상자, 접사다리, 코트걸이, 손수레, 대형 화분)이 있는 칸에는 있을 수 없다; 스툴과 벤치에는 있을 수 있다.","방향은 행과 열을 가리키며 같은 직선일 필요는 없다: <i>“그의 정확히 한 행 북쪽에 여자가 있었다”</i> = 바로 위의 행에 있는 사람이 여자다, 열은 무관.","범인은 <b>피해자와 단둘이</b> 있었다: 그 구역에는 다른 누구도 없었다."],"special":[]},"roleNames":{"staff":"직원","customer":"손님","victim":"피해자"},"personGroups":[{"id":"staff","name":"직원","persons":["A","B","C"]},{"id":"customers","name":"손님","persons":["D","E","F","G"]},{"id":"owner","name":"주인","persons":["V"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Shop","cells":[[1,1],[1,2],[1,3],[1,4],[2,1],[2,2],[2,3],[2,4],[3,1],[3,2]],"fill":"#f1dfcc","pattern":"tiles","labelAt":[2,2],"name":"가게"},{"id":"Office","cells":[[1,5],[1,6],[2,5],[2,6],[3,6]],"fill":"#e2d6c4","pattern":"planks","labelAt":[2,6],"name":"사무실"},{"id":"Workshop","cells":[[3,3],[3,4],[3,5],[4,3],[4,4],[4,5],[4,6],[5,3],[5,4],[5,5],[5,6],[6,2],[6,3],[6,4],[6,5],[7,2],[7,3],[7,4]],"fill":"#dcdad4","pattern":"boards","labelAt":[5,3],"name":"작업장"},{"id":"Storeroom","cells":[[4,1],[4,2],[5,1],[5,2],[6,1],[7,1],[8,1],[8,2],[8,3]],"fill":"#e6dcc8","pattern":"planks","labelAt":[6,1],"name":"창고"},{"id":"Yard","cells":[[1,7],[1,8],[2,7],[2,8],[3,7],[3,8],[4,7],[4,8],[5,7],[5,8],[6,6],[6,7],[6,8],[7,5],[7,6],[7,7],[7,8],[8,4],[8,5],[8,6],[8,7],[8,8]],"fill":"#dce8d0","pattern":"marble","labelAt":[5,7],"name":"마당"}],"objectTypes":{"bench":{"occupiable":true,"name":"벤치","icon":"<rect x=\"2\" y=\"13\" width=\"42\" height=\"21\" rx=\"3.5\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"2\" y=\"13\" width=\"42\" height=\"7\" rx=\"3\" fill=\"#d9d5cc\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><line x1=\"16\" y1=\"20\" x2=\"16\" y2=\"34\" stroke=\"#a9a49a\" stroke-width=\"1.3\"/><line x1=\"30\" y1=\"20\" x2=\"30\" y2=\"34\" stroke=\"#a9a49a\" stroke-width=\"1.3\"/>"},"stool":{"occupiable":true,"name":"스툴","icon":"<circle cx=\"23\" cy=\"23\" r=\"11\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><circle cx=\"23\" cy=\"23\" r=\"5\" fill=\"#d9d5cc\"/>"},"bicycle":{"occupiable":false,"name":"자전거","icon":"<circle cx=\"13\" cy=\"30\" r=\"8\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"2\"/><circle cx=\"33\" cy=\"30\" r=\"8\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"2\"/><path d=\"M13 30 L20 16 h10 l3 14 M20 16 l6 14 h-13 M30 16 l-4 -4\" fill=\"none\" stroke=\"#c0392b\" stroke-width=\"2.2\" stroke-linejoin=\"round\"/>"},"cart":{"occupiable":false,"name":"손수레","icon":"<rect x=\"8\" y=\"12\" width=\"30\" height=\"16\" rx=\"2\" fill=\"#8a5a34\" stroke=\"#3f2d1d\" stroke-width=\"1.3\"/><circle cx=\"15\" cy=\"34\" r=\"5\" fill=\"#2b2b2b\"/><circle cx=\"31\" cy=\"34\" r=\"5\" fill=\"#2b2b2b\"/><path d=\"M38 20 h6\" stroke=\"#3f2d1d\" stroke-width=\"2.5\"/>"},"counter":{"occupiable":false,"name":"카운터","icon":"<rect x=\"0\" y=\"10\" width=\"46\" height=\"26\" fill=\"#a97c50\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"0\" y=\"10\" width=\"46\" height=\"7\" fill=\"#c9a06f\"/>"},"crate":{"occupiable":false,"name":"상자","icon":"<rect x=\"6\" y=\"10\" width=\"34\" height=\"30\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><line x1=\"6\" y1=\"20\" x2=\"40\" y2=\"20\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><line x1=\"6\" y1=\"30\" x2=\"40\" y2=\"30\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><line x1=\"17\" y1=\"10\" x2=\"17\" y2=\"40\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><line x1=\"29\" y1=\"10\" x2=\"29\" y2=\"40\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/>"},"desk":{"occupiable":false,"name":"책상","icon":"<rect x=\"5\" y=\"12\" width=\"36\" height=\"22\" rx=\"3\" fill=\"#8f6a44\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"9\" y=\"16\" width=\"14\" height=\"10\" fill=\"#f4efe6\" stroke=\"#8c8a82\"/><rect x=\"27\" y=\"17\" width=\"10\" height=\"4\" fill=\"#3d444b\"/>"},"planter":{"occupiable":false,"name":"대형 화분","icon":"<path d=\"M6 25 q3 -9 11 -7 q5 -6 11 -1 q9 -1 11 8 z\" fill=\"#3f8a4a\" stroke=\"#2c6434\" stroke-width=\"1\"/><circle cx=\"14\" cy=\"19\" r=\"1.9\" fill=\"#e0526a\"/><circle cx=\"24\" cy=\"15\" r=\"1.9\" fill=\"#f2d24a\"/><circle cx=\"33\" cy=\"19\" r=\"1.9\" fill=\"#e0526a\"/><rect x=\"4\" y=\"25\" width=\"38\" height=\"14\" rx=\"2\" fill=\"#a5733f\" stroke=\"#4e3a1e\" stroke-width=\"1.5\"/><path d=\"M4 30 h38 M4 34.5 h38\" stroke=\"#7a5630\" stroke-width=\"1\"/><rect x=\"4\" y=\"25\" width=\"4\" height=\"14\" fill=\"#8a5a2f\" stroke=\"#4e3a1e\" stroke-width=\"1\"/><rect x=\"38\" y=\"25\" width=\"4\" height=\"14\" fill=\"#8a5a2f\" stroke=\"#4e3a1e\" stroke-width=\"1\"/><rect x=\"8\" y=\"39\" width=\"4\" height=\"3\" fill=\"#4e3a1e\"/><rect x=\"34\" y=\"39\" width=\"4\" height=\"3\" fill=\"#4e3a1e\"/>"},"rack":{"occupiable":false,"name":"코트걸이","icon":"<line x1=\"6\" y1=\"10\" x2=\"40\" y2=\"10\" stroke=\"#5b5852\" stroke-width=\"3\"/><line x1=\"9\" y1=\"10\" x2=\"9\" y2=\"40\" stroke=\"#5b5852\" stroke-width=\"2.5\"/><line x1=\"37\" y1=\"10\" x2=\"37\" y2=\"40\" stroke=\"#5b5852\" stroke-width=\"2.5\"/><path d=\"M15 14 v2 h8 v14 h-8 z\" fill=\"#c8536a\"/><path d=\"M25 14 v2 h7 v12 h-7 z\" fill=\"#3a6fb0\"/><line x1=\"19\" y1=\"10\" x2=\"19\" y2=\"14\" stroke=\"#333\"/><line x1=\"28\" y1=\"10\" x2=\"28\" y2=\"14\" stroke=\"#333\"/>"},"shelf":{"occupiable":false,"name":"선반","icon":"<rect x=\"8\" y=\"5\" width=\"30\" height=\"36\" fill=\"#8f6a44\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"11\" y=\"9\" width=\"24\" height=\"8\" fill=\"#e6cfa8\"/><rect x=\"11\" y=\"20\" width=\"24\" height=\"8\" fill=\"#d4b98f\"/><rect x=\"11\" y=\"31\" width=\"24\" height=\"8\" fill=\"#e6cfa8\"/>"},"stepladder":{"occupiable":false,"name":"접사다리","icon":"<line x1=\"13\" y1=\"42\" x2=\"20\" y2=\"6\" stroke=\"#8a6a3a\" stroke-width=\"3\"/><line x1=\"33\" y1=\"42\" x2=\"26\" y2=\"6\" stroke=\"#8a6a3a\" stroke-width=\"3\"/><line x1=\"16\" y1=\"30\" x2=\"30\" y2=\"30\" stroke=\"#8a6a3a\" stroke-width=\"2.5\"/><line x1=\"18\" y1=\"20\" x2=\"28\" y2=\"20\" stroke=\"#8a6a3a\" stroke-width=\"2.5\"/><line x1=\"20\" y1=\"10\" x2=\"26\" y2=\"10\" stroke=\"#8a6a3a\" stroke-width=\"2.5\"/>"},"tree":{"occupiable":false,"name":"나무","icon":"<rect x=\"20\" y=\"28\" width=\"6\" height=\"14\" rx=\"1\" fill=\"#6e4a2a\"/><circle cx=\"23\" cy=\"19\" r=\"13\" fill=\"#3f8a4a\" stroke=\"#2c5e33\" stroke-width=\"1.5\"/><circle cx=\"16\" cy=\"23\" r=\"7\" fill=\"#57a35e\"/><circle cx=\"30\" cy=\"14\" r=\"7\" fill=\"#57a35e\"/>"}},"wallTypes":{},"objects":[{"cell":[1,2],"type":"bicycle"},{"cell":[1,4],"type":"counter"},{"cell":[1,7],"type":"tree"},{"cell":[2,5],"type":"desk"},{"cell":[3,1],"type":"shelf"},{"cell":[3,4],"type":"stool"},{"cell":[3,8],"type":"bicycle"},{"cell":[4,2],"type":"crate"},{"cell":[4,5],"type":"stool"},{"cell":[5,4],"type":"bicycle"},{"cell":[5,8],"type":"tree"},{"cell":[6,8],"type":"stepladder"},{"cell":[7,1],"type":"crate"},{"cell":[7,4],"type":"rack"},{"cell":[7,7],"type":"bench"},{"cell":[8,6],"type":"cart"},{"cell":[8,8],"type":"planter"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Anneke","gender":"F","role":"staff","color":"#c62828","avatar":{"bg":"#35607a","skin":"#f6d8c0","hair":"#7a4a2a","style":"ponytail","shirt":"#f2a53a","apron":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=\"Anneke\"><rect width=\"80\" height=\"80\" fill=\"#35607a\"/><path d=\"M50 30 Q64 34 60 62 L54 62 Q56 40 48 36 Z\" fill=\"#7a4a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f2a53a\"/><path d=\"M28 80 L30 62 Q40 58 50 62 L52 80 Z\" fill=\"#f4efe6\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><path d=\"M26 33 Q26 16 40 16 Q54 16 54 33 Q50 24 40 24 Q30 24 26 33 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":"staff","constraints":[{"type":"area","areas":["Office"]},{"type":"rel_any","dir":"S","exact":1,"gender":"F"}]},{"id":"B","name":"Boudewijn","gender":"M","role":"staff","color":"#2e7d32","avatar":{"bg":"#5d4037","skin":"#f1c8a5","hair":"#3a2a1c","style":"short","shirt":"#2f3b4c","beard":true,"apron":true},"clue":"그는 <b>스툴</b>에 앉아 있던 <b>유일한 남자</b>였다.","job":"정비사","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Boudewijn\"><rect width=\"80\" height=\"80\" fill=\"#5d4037\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2f3b4c\"/><path d=\"M28 80 L30 62 Q40 58 50 62 L52 80 Z\" fill=\"#f4efe6\"/><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 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=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#3a2a1c\"/></svg>","solverRole":"staff","constraints":[{"type":"only_on","obj":"stool","gender":"M"}]},{"id":"C","name":"Carlijn","gender":"F","role":"staff","color":"#1565c0","avatar":{"bg":"#6e2c4b","skin":"#f3d3b5","hair":"#b7482c","style":"bob","shirt":"#2e7d32","cap":true,"apron":true},"clue":"그녀는 <b>첫 번째 열</b>에 있었다.","job":"견습 정비사","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Carlijn\"><rect width=\"80\" height=\"80\" fill=\"#6e2c4b\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#b7482c\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#2e7d32\"/><path d=\"M28 80 L30 62 Q40 58 50 62 L52 80 Z\" fill=\"#f4efe6\"/><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 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#b7482c\"/><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=\"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":"col","cols":[1]}]},{"id":"D","name":"Dirk","gender":"M","role":"customer","color":"#6a1b9a","avatar":{"bg":"#1b2a33","skin":"#e4b998","hair":"#1c1a1a","style":"short","shirt":"#c62828","beard":true,"cap":true},"clue":"그는 <b>Floris와 함께 있지 않았다</b>.","job":"자전거를 찾으러 온 배달원","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dirk\"><rect width=\"80\" height=\"80\" fill=\"#1b2a33\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#c62828\"/><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=\"#1c1a1a\"/><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=\"#1c1a1a\"/><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":"customer","constraints":[{"type":"not_with","q":"F"}]},{"id":"E","name":"Esmee","gender":"F","role":"customer","color":"#e65100","avatar":{"bg":"#ad1457","skin":"#f6d8c0","hair":"#d9b464","style":"long","shirt":"#4a5a7a","glasses":true},"clue":"그녀는 자신의 구역에 <b>혼자 있지 않았다</b>.","job":"타이어가 펑크 난 학생","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Esmee\"><rect width=\"80\" height=\"80\" fill=\"#ad1457\"/><path d=\"M22 42 Q20 14 40 14 Q60 14 58 42 L62 72 L18 72 Z\" fill=\"#d9b464\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#4a5a7a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 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\"/><circle cx=\"34\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><circle cx=\"46\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><line x1=\"39\" y1=\"35\" x2=\"41\" y2=\"35\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/></svg>","solverRole":"customer","constraints":[{"type":"not_alone"}]},{"id":"F","name":"Floris","gender":"M","role":"customer","color":"#00838f","avatar":{"bg":"#00695c","skin":"#e7b98f","hair":"#8a8278","style":"slick","shirt":"#e26d8a","mustache":true,"mustacheColor":"#8a8278"},"clue":"<b>손수레</b>가 그의 <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=\"Floris\"><rect width=\"80\" height=\"80\" fill=\"#00695c\"/><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=\"#e7b98f\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e7b98f\"/><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\"/></svg>","solverRole":"customer","constraints":[{"type":"col_has","obj":"cart"},{"type":"with_on","obj":"bench","gender":"M"}]},{"id":"G","name":"Gijs","gender":"M","role":"customer","color":"#ad1457","avatar":{"bg":"#2f4858","skin":"#f1c8a5","hair":"#d9d4cc","style":"bald","shirt":"#8b7a5a","glasses":true,"mustache":true,"mustacheColor":"#d9d4cc"},"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=\"Gijs\"><rect width=\"80\" height=\"80\" fill=\"#2f4858\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#8b7a5a\"/><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 Q26 22 30 20 L30 34 Q26 34 26 30 Z\" fill=\"#d9d4cc\"/><path d=\"M54 30 Q54 22 50 20 L50 34 Q54 34 54 30 Z\" fill=\"#d9d4cc\"/><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\"/><circle cx=\"34\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><circle cx=\"46\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><line x1=\"39\" y1=\"35\" x2=\"41\" y2=\"35\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><path d=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#d9d4cc\"/></svg>","solverRole":"customer","constraints":[{"type":"with_beside","obj":"tree"},{"type":"row_has","obj":"crate"}]},{"id":"V","name":"Veerle","gender":"F","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#f0cdb0","hair":"#7a4a2a","style":"bun","shirt":"#1b1b1b","earrings":true,"apron":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=\"Veerle\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1b1b1b\"/><path d=\"M28 80 L30 62 Q40 58 50 62 L52 80 Z\" fill=\"#f4efe6\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f0cdb0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f0cdb0\"/><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\"/><circle cx=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"owner","constraints":[{"type":"area","areas":["Storeroom"]},{"type":"beside","obj":"crate"}]}],"victim":"V","murderer":"D","solution":{"A":[1,5],"C":[2,1],"B":[3,4],"E":[4,8],"V":[5,2],"F":[6,6],"G":[7,7],"D":[8,3]},"walkthrough":[{"place":["V","A","B"],"cand":{"C":[[2,1],[4,1],[6,1],[8,1]],"D":[[2,3],[2,7],[2,8],[4,3],[4,7],[4,8],[6,3],[6,7],[7,3],[7,7],[7,8],[8,3],[8,7]],"E":[[2,3],[2,7],[2,8],[4,3],[4,7],[4,8],[6,3],[6,7],[7,3],[7,7],[7,8],[8,3],[8,7]],"F":[[2,6],[4,6],[6,6],[7,6]],"G":[[4,3],[4,7],[4,8],[7,3],[7,7],[7,8]]},"text":"Veerle는 창고에서 상자 옆에 있는 채로 발견되었다. 상자는 R4C2와 R7C1에 있고, 그 옆에 있는 창고 칸은 R4C1, R5C2, R6C1, R8C1이다. Carlijn이 첫 번째 열에 있었으므로 1열에는 다른 누구도 없다: <b>Veerle는 R5C2</b>이고, 범인은 창고에 있는 유일한 다른 사람이다. 손수레(R8C6)는 Floris의 열에 있었으므로 Floris는 6열에 있다. Anneke는 사무실에 있었는데, 사무실의 빈 칸은 R1C5, R1C6, R2C6, R3C6이고 그중 세 칸이 Floris의 열에 있다: <b>Anneke는 R1C5</b>. Boudewijn은 스툴에 앉아 있었으므로 R3C4 또는 R4C5인데, R4C5는 Anneke의 열에 있으므로 <b>Boudewijn은 R3C4</b>. Gijs의 행에는 상자가 있었으므로 그는 4행 또는 7행에 있다."},{"place":["G","F"],"cand":{"C":[[2,1],[4,1],[8,1]],"D":[[2,3],[4,3],[8,3]],"E":[[2,3],[2,8],[4,3],[4,8],[8,3]]},"text":"Floris는 그의 구역에 있던 다른 남자가 벤치에 앉아 있었다고 말했다. 벤치는 R7C7 하나뿐이고 마당에 있으므로, Floris 자신도 마당에 있으며 – 그의 열에서 R6C6 또는 R7C6 – 벤치에 앉은 남자도 마당에 있다. 이 남자는 누구일 수 있을까? Boudewijn은 작업장의 스툴에 앉아 있다; Dirk는 Floris와 함께 있지 않았으므로 마당에 전혀 없다; 그리고 Floris는 자신이 아니라 다른 남자를 말하고 있다. 남는 것은 Gijs뿐이다: <b>Gijs는 R7C7</b>이고 벤치에 앉아 있다 – 그의 행에는 실제로 상자(R7C1)가 있다. 이제 7행은 Gijs의 것이므로 <b>Floris는 R6C6</b>. Dirk는 마당 어디에도 없다는 점을 기억해 두자."},{"place":["E"],"cand":{"C":[[2,1],[8,1]],"D":[[2,3],[8,3]]},"text":"Gijs는 그의 구역인 마당에 있던 다른 누군가가 나무 옆에 있었다고 말했다. 나무는 R1C7과 R5C8에 있고, 그 옆의 마당 칸은 R1C8, R2C7, R4C8, R5C7이다. R1C8은 Anneke의 행에, R2C7과 R5C7은 Gijs의 열에 있으므로 이 사람은 R4C8에 있다. 누구일까? Carlijn은 1열에 있고 Dirk는 마당에 없으므로 Esmee만 남는다: <b>Esmee는 R4C8</b>. (그녀는 실제로 자신의 구역에 혼자 있지 않았다: Floris와 Gijs가 마당에서 함께 있다.)"},{"place":["D","C"],"text":"남은 것은 2행과 8행, 1열과 3열뿐이고, Carlijn과 Dirk의 몫이다. 창고에서 Veerle와 단둘이 있던 사람은 누구일까? R2C1과 R2C3은 가게에, R8C1과 R8C3은 창고에 있으므로, 범인은 8행에 있는 사람이다 – R8C1의 Carlijn 또는 R8C3의 Dirk. Anneke는 정확히 한 행 남쪽인 2행에 여자가 있었다고도 말했다. Dirk는 남자이므로 2행에 있을 수 없다: <b>Dirk는 R8C3</b>로 창고에 있고, <b>Carlijn은 R2C1</b>로 가게에 있다. 창고에는 Veerle와 Dirk 말고 아무도 없다: <b>Dirk가 범인이다</b>. 모두 배치되었다."},{"final":true,"text":"사건 종결: Veerle는 창고에서 자전거를 찾으러 온 배달원과 단둘이 있었다. <b>범인은 Dirk다!</b>"}],"solver":{"rules":[],"occupiable":["bench","stool"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-10-06"},"score":6.1233}