zoukankan      html  css  js  c++  java
  • SGU 101 Domino 题解

      鉴于SGU题目难度较大,AC后便给出算法并发布博文,代码则写得较满意后再补上。——icedream61


    题目简述:暂略

    AC人数:3609(2015年7月20日)

    算法:

      这题就是一笔画,最多只有7个点(0~6),每个骨牌就是一条双向边。

      要做的,就是找出一条一笔画的路径。步骤如下:

        1. 读入数据,建成图。

        2. 判断可否一笔画。一笔画条件:奇点数为0或2 + 联通分量数为1。

        3. 如果不可一笔画,则输出No solution,结束;如果可以,则找到一条路径R,并输出。

      下面给出找一笔画路径R的经典算法:

        1. 找到起点S和终点T

          如果有两个奇点,那么一个为S一个为T;

          如果没有奇点,那么随便选一个点,S和T都是它。

        2. 随便找一条S→T的路径,这就是初始的R。过程中,走过一次的边便标记为失效,今后视而不见(注意,这题可是双向边!)。

        3. 若此时图中依旧有剩余边,则在R的基础上,不断更新,直至图中没有剩余边。更新方法如下:

          (a)从R中任一点出发,走图中剩余的边,直至回到此点,这就找到了一条路径r。

          (b)把R中此点的位置,换成路径r,这就更新了R。

        4. 此时图中已没有剩余边,R即为所求一笔画路径。

      可以证明,只要有一笔画路径,这个算法必然可以找到。

  • 相关阅读:
    Moq4在.NET3.5和.NET4版本之间的差异
    TDD中的迭代
    洛谷 3413 萌数
    割点(tarjan)
    hdu-4507 吉哥系列故事——恨7不成妻
    hdu-3709 Balanced Number
    poj-3252 Round Numbers
    hdu 1007 Quoit Design 分治求最近点对
    LA 3905 Meteor 扫描线
    uva 11464
  • 原文地址:https://www.cnblogs.com/icedream61/p/4661241.html
Copyright © 2011-2022 走看看