若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

1772: 独立钻石跳棋问题

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,092

题目描述

独立钻石跳棋的棋盘上有33 个方格,每个方格中可放1 枚棋子。棋盘中最多可摆放32枚棋子。下棋的规则是任一棋子可以沿水平或垂直方向跳过与其相邻的棋子进入空着的方格并吃掉被跳过的棋子。试设计一个算法,对于任意给定的棋盘布局,找出一种下棋方法,使得最终棋盘上只剩下一个棋子。

对于给定的独立钻石跳棋的棋盘初始布局,和棋盘上最终剩下的棋子所在的位置(x,y),计算一种遵循下棋的规则下棋方法,使最终棋盘上仅在位置(x,y)处有一枚棋子。当(x,y)=(0,0)时,表示不指定棋子的最终位置。棋子位置的坐标定义如下。

输入

输入数据的第一行中有1个正整数n(n≤32),表示棋盘的初始布局中有n个棋子。第2 行起每行2 个数,分别是n个棋子的位置。最后1 行是棋盘上最终剩下的棋子所在的位置。

输出

将计算出的下棋步法依次输出。每行有2 对方格坐标(a,b)和(c,d),表示从方格(a,b)跳到方格(c,d)。问题无解时输出“No solution!”。

样例输入

8
4 1
5 2
5 3
6 3
3 4
4 4
4 5
4 6
0 0

样例输出

(3,4) (5,4)
(4,6) (4,4)
(4,4) (6,4)
(6,4) (6,2)
(6,2) (4,2)
(4,1) (4,3)
(5,3) (3,3)

参考代码

暂无

解析

暂无

hustoj

发表评论 取消回复

电子邮件地址不会被公开。 必填项已用*标注

*
*


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

Dreams孤独患者 Skip 原站点
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist