为防止广告,目前nocow只有登录用户能够创建新页面。如要创建页面请先登录/注册(新用户需要等待1个小时才能正常使用该功能)。

Sgu/101

来自NOCOW
< Sgu
跳转到: 导航, 搜索

Solution

   将0~6这7种牌面看作节点,把骨牌看作是连接两节点的无向弧,这样就组成了一个无向图(当然可能有重边),图中的一条欧拉路就对应一种方案。
   欧拉路的构造方法:若图连同且度为奇数的节点不超过两个,则可以构造出欧拉路。先选一个度为奇数的节点(若没有就任选一个度为偶数的节点),以该节点为起点,深搜遍历所有的弧(每条弧只遍历一次),在每次回溯时将当前弧记录下来,记录的弧的排列就组成了一条欧拉路。
   实际编程时,为便于输出方案,可将图中的边加上一个“权值”,为骨牌的编号。

Complexity

   Time: Θ(N)
   Memory: Θ(N)

Notice

欧拉路不是欧拉回路;
   注意图不连通的情况;
   注意图连通但部分点未出现的情况(如样例),起点必须在图中出现
个人工具