{"ScriptPreparationCode":"var layr = 0;\r\nvar map = {\r\n tileWidth: 32,\r\n tileHeight: 32,\r\n currentLayer: 0,\r\n layers: [{data: {width: 18, height: 18}}]\r\n}\r\n\r\nfunction snapToFloor(input, gap, start) {\r\n if (typeof start === \u0022undefined\u0022) { start = 0; }\r\n if (gap == 0) {\r\n return input;\r\n }\r\n input -= start;\r\n input = gap * Math.floor(input / gap);\r\n return start \u002B input;\r\n}\r\n\r\nfunction A(x, y, tileWidth, tileHeight, layr) {\r\n if (typeof layr === \u0022undefined\u0022) {\r\n layr = map.currentLayer;\r\n }\r\n x = snapToFloor(x, tileWidth) / tileWidth;\r\n y = snapToFloor(y, tileHeight) / tileHeight;\r\n if (x \u003E= 0 \u0026\u0026 x \u003C map.layers[layr].width \u0026\u0026 y \u003E= 0 \u0026\u0026 y \u003C map.layers[layr].height) {\r\n return map.layers[layr].data[y][x];\r\n }\r\n}\r\n\r\nfunction B(x, y, tileWidth, tileHeight, layr) {\r\n x = snapToFloor(x, tileWidth) / tileWidth;\r\n y = snapToFloor(y, tileHeight) / tileHeight;\r\n if (x \u003E= 0 \u0026\u0026 x \u003C map.layers[layr].width \u0026\u0026 y \u003E= 0 \u0026\u0026 y \u003C map.layers[layr].height) {\r\n return map.layers[layr].data[y][x];\r\n }\r\n}\r\n\r\nfunction C(x, y, tileWidth, tileHeight, layr) {\r\n x = snapToFloor(x, tileWidth) / tileWidth;\r\n y = snapToFloor(y, tileHeight) / tileHeight;\r\n if (x \u003C map.layers[layr].width \u0026\u0026 y \u003C map.layers[layr].height) {\r\n return map.layers[layr].data[y][x];\r\n }\r\n}\r\n\r\n","TestCases":[{"Name":"A","Code":"for(var x = 0; x \u003C 500; x\u002B\u002B){\r\n\tfor(var y = 0; y \u003C 500; y\u002B\u002B){\r\n \tA(x, y, map.tileWidth, map.tileHeight, layr);\r\n }\r\n}","IsDeferred":false},{"Name":"B","Code":"for(var x = 0; x \u003C 500; x\u002B\u002B){\r\n\tfor(var y = 0; y \u003C 500; y\u002B\u002B){\r\n \tB(x, y, map.tileWidth, map.tileHeight, layr);\r\n }\r\n}","IsDeferred":false},{"Name":"C","Code":"for(var x = 0; x \u003C 500; x\u002B\u002B){\r\n\tfor(var y = 0; y \u003C 500; y\u002B\u002B){\r\n \tC(x, y, map.tileWidth, map.tileHeight, layr);\r\n }\r\n}","IsDeferred":false}]}