南邮 OJ 1593 8皇后问题
来源:互联网 发布:数据库课程设计源代码 编辑:程序博客网 时间:2024/06/15 18:49
8皇后问题
时间限制(普通/Java) : 2000 MS/ 6000 MS 运行内存限制 : 65536 KByte
总提交 : 1127 测试通过 : 141
总提交 : 1127 测试通过 : 141
比赛描述
在8×8格的国际象棋上摆放八个皇后,请你判断她们是否互相攻击,即任意两个皇后都处于同一行、或同一列或同一斜线上。
输入
输入包含多个测试用例(不超过104)。先给出测试用例数。然后是每个测试用例。每个测试用例包括8行,每一行用8个字符表示棋盘上皇后放置情况,“Q”代表皇后,“#”代表空。
输出
对于每个测试用例,输出一行,依次包含:
l “Case #: ”,#表示序号
l 如果测试用例中的八个皇后互相攻击,输出Yes,否则输出No
样例输入
2
Q#######
###Q####
#####Q##
##Q#####
#######Q
####Q###
######Q#
##Q#####
#######Q
###Q####
Q#######
##Q#####
#####Q##
#Q######
######Q#
####Q###
样例输出
Case 1: Yes
Case 2: No
提示
题目来源
NUPT
#include<iostream>#define N 8using namespace std;bool isDanger(int row,int col,char chess[N][N]){int i,j;//判断同一列for(i=0,j=col;i<N;++i){if(i!=row && 'Q'==chess[i][j]){return 1;}}//判断同一行for(i=row,j=0;j<N;++j){if(j!=col && 'Q'==chess[i][j]){return 1;}}//判断左上方for(i=row-1,j=col-1;i>=0,j>=0;--i,--j){if('Q'==chess[i][j]){return 1;}}//判断右上方for(i=row-1,j=col+1;i>=0,j<N;--i,++j){if('Q'==chess[i][j]){return 1;}}//判断右下方for(i=row+1,j=col+1;i<N,j<N;++i,++j){if('Q'==chess[i][j]){return 1;}}//判断左下方for(i=row+1,j=col-1;i<N,j>=0;++i,--j){if('Q'==chess[i][j]){return 1;}}return 0;}bool willAttack(char chess[N][N]){int i,j;for(i=0;i<N;++i){for(j=0;j<N;++j){if('Q'==chess[i][j] && isDanger(i,j,chess)){return 1; }}}return 0;}int main(){char chess[N][N];int i,j,n,m;cin>>n;for(m=1;m<=n;++m){for(i=0;i<N;++i){for(j=0;j<N;++j){cin>>chess[i][j];}}cout<<"Case "<<m<<": ";if(willAttack(chess)){cout<<"Yes"<<endl;}else{cout<<"No"<<endl;}}}
0 0
- 南邮 OJ 1593 8皇后问题
- 南邮 OJ 1319 n皇后问题
- 南邮 OJ 1342 皇后控制问题
- 8皇后问题 NOJ 1593
- 九度OJ 1140:八皇后 (八皇后问题)
- 百练 OJ 2754 八皇后问题
- HDU-OJ---N皇后问题(DFS)
- 百练 oj 2754 八皇后问题
- SWUST OJ 1768 n皇后问题
- 刷清橙OJ--A1085.2n皇后问题
- 8皇后问题和N皇后问题
- 8皇后问题改进~
- 8皇后问题
- 8皇后问题求解
- 8皇后问题
- 8皇后问题
- 8皇后问题算法
- 8皇后问题
- 对象和类
- Java 并发专题 : Executor详细介绍
- MySQL更新时Error Code:1093和Error Code:1175的解决办法
- 工作注意事项
- Java Vector遍历的五种方法
- 南邮 OJ 1593 8皇后问题
- =============什么是刷新缓冲区???
- 除法运算就是移位和相减
- PA的cannot simultaneously fetch multiple bags异常的解决
- hdu3549 Flow Problem(最大流)
- 高通:中国是未来5G发展关键---OFweek
- 查找计算机视觉、模式识别、图像处理领域的国际会议和会议排名
- 关于类的生命周期
- EditPlus对多行进行列处理