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即为所求一笔画路径。

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

  • 相关阅读:
    又从头开始
    test1
    day1
    路飞学成-Python爬虫实战密训-第3章
    路飞学成-Python爬虫实战密训-第2章
    路飞学成-Python爬虫实战密训-第1章
    【软件测试】(homework3)覆盖问题
    【软件测试】(homework3)有关三角形的测试练习
    【软件测试】(homework2)错误分析
    【软件测试】(homework1)描述曾遇到且已经被解决的error
  • 原文地址:https://www.cnblogs.com/icedream61/p/4661241.html
Copyright © 2011-2022 走看看