码迷,mamicode.com
首页 > 其他好文 > 详细

百度之星资格赛1005 下棋 BFS

时间:2015-05-30 12:15:17      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:bfs

下棋

 
 
 Time Limit: 6000/3000 MS (Java/Others)
 
 Memory Limit: 65536/65536 K (Java/Others)
Problem Description

N?M的棋盘上有一个受伤的国王与一个要去救援国王的骑士,他们每个单位时间必须同时移动一次寻找对方。如下图所示,黑色的图例表示国王(右)或骑士(左)当前所在的位置,那么灰色的位置表示在一次移动中他们可能到达的位置。国王伤势严重,因此他必须在K个单位时间内得到骑士的救援,否则会挂掉。问国王是否可以在K个单位时间内获得救援,如果可以,最短需要花多少个单位时间。

技术分享

Input

第一行包含一个整数T,1T50代表测试数据的组数,接下来T组测试数据。

每组测试数据第一行包含三个整数N,M,K, 且2N,M10001K200。第二行两个整数Xking,Yking,对应国王所在方格的坐标。第三行两个整数Xknight,Yknight,对应骑士所在方格的坐标。其中1Xking,XknightN,1Yking,YknightM,保证骑士与国王一开始不在同一个方格内且他们都可以移动。:

Output

对于每组测试数据,输出两行:

第一行输出:"Case #i:"。i代表第i组测试数据。

第二行输出测试数据的结果,如果国王可以得到救援,则输出最快需要花多少个单位时间。否则,输出“OH,NO!”。

Sample Input
2
3 2 1
1 1
3 1
3 3 1
1 1
1 2 
Sample Output
Case #1:
1
Case #2:
OH,NO!

百度之星资格赛1005 下棋 BFS

标签:bfs

原文地址:http://blog.csdn.net/u012515742/article/details/46272635

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!