首页 > 其他 > 详细

CC150 8.6

时间:2014-12-02 11:58:04      阅读:232      评论:0      收藏:0      [点我收藏+]

8.6 Implement the “paint fill” function that one might see on many image editing programs. That is, given a screen (represented by a 2 dimensional array of Colors), a point, and a new color, fill in the surrounding area until you hit a border of that color.

interface Panter
{
}

class Pos
{
  int x,
  int y, 
  void paint(Panter p);  
  boolean isPainted();
}

paint(Set<Pos> borders, Pos start, Panter panter)
{
  if (borders.contains(start))
    return;
  
  if (start.isPainted())
    return;
    
  start.paint(panter);
    
  paint(borders, start.up(), panter);
  paint(borders, start.down(), panter);
  paint(borders, start.left(), panter);
  paint(borders, start.right(), panter);
}


Other other like BFS tree.

CC150 8.6

原文:http://7371901.blog.51cto.com/7361901/1585341

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!