算法学社
記錄難忘的征途
posts - 141,comments - 220,trackbacks - 0
题目描述:
   http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=30

   在欧式平面图上找长度为k的简单环, 环中不允许有其他点, 图是联通图.
   其中边不能穿过点(题中没说明白, 只说了边不能"cross")

算法分析:
   
   因为是联通图, 我们只需要递归的贪心的去找边就可以了. 枚举一个向量, 然后按照顺(逆)时针的贪心规则去把"区域"找出来.
   
   非法情况有以下几种:
      1. unboundry edge , 可能没有其他的联通边.
      2. complex circle , 遇到了"反向边", 或者在"封口"的时候, 下一个边不是初始边.
      3. 并非inner region, 在递归的过程中不断收集角度, 最后等于多边形内角和才可以哦~

   如果不是联通图或者边可以穿过点, 那就爽了...

zoj 1030
posted on 2012-09-04 14:39 西月弦 阅读(321) 评论(0)  编辑 收藏 引用 所属分类: 解题报告

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理