赞
踩
这是我做的图片(Codeforces@LetMeFly)
做了一张有坐标的图片,可能会帮助你解答E题
Having a picture with coordinates may help you solve E problem
E. Jordan Smiley
time limit per test1 second
memory limit per test256 megabytes
inputstandard input
outputstandard output
Input
The input contains two integers row, col (0≤row,col≤63), separated by a single space.
Output
Output “IN” or “OUT”.
(这是题目的图片)
Examples
input
0 0
output
OUT
input
27 0
output
IN
input
0 27
output
OUT
input
27 27
output
IN
其实就是判断一个点的坐标在不在封闭图形内。
外国大神的评论以及代码是:(Codeforces@brezhart)
First: fill area in photoshop
Second: Do 2d dimension arr. Check pixel at (i15)+5 (g15)+5. If it’s white, put 0 in arr else put 1; Save that arr in file for use it in final solution. I picked Node.JS for this step.
var fs = require("fs"); var Canvas = require("canvas"); let fileLink = "smile.png"; var canvas = new Canvas.Canvas(960, 960, "png"); var ctx = canvas.getContext("2d"); const Image = Canvas.Image; var image = new Image(963,964); dataArr = []; image.onload = function () { ctx.drawImage(image,-2,-2,963,964); for (let i = 0; i < 64; i++){ let newStr = []; for (let g = 0; g < 64; g++){ var p = ctx.getImageData((g*15)+4, (i*15)+4, 1, 1).data; if (p[2] < 240){ newStr.push(0) } else { newStr.push(1) } } dataArr.push(newStr) } fs.writeFileSync("DATAOUT.txt",JSON.stringify(dataArr)) };
image.src = fileLink;
Final solution: just get row and col and check arr[row][col] if it’s 0 print “OUT” else print “IN”
这需要时间啊 …………
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。