问题 3535 --N个皇后(完善程序)

3535: N个皇后(完善程序)★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 502  解决: 251
[提交][状态][命题人:]

题目描述

假设8*8的棋盘上有N个皇后

每个皇后的势力范围为与她同一行、同一列或者同一斜线上

天佑号称自己是钻空子的高手

他能够在棋盘的安全位置(不在任何一个皇后的势力范围内)上自由穿梭

输入:

一个整数N<=8,表示棋盘上有N个皇后

下面N行,每行分别给出每个皇后的位置

给定一个位置(x,y),判断是否为安全位置

输出:

如果是安全位置,则输出safe

否则输出dangerous

比如输入为

3
2 1
5 2
1 5
8 3
则输出为

safe

#include<iostream>
#include<algorithm>
#include<cmath> 
#include<cstdlib> 
#include<cstring> 
using namespace std;
int main()
{  
   int n,x,y;
   int a[9][9],_____(1)______; 
   memset(a,0,____(2)_____);
   cin>>n;
   for(int i=1;i<=n;i++)
   {
   		cin>>x>>y;
   		______(3)______;
   }
   cin>>x>>y;
   for(int i=1;i<=8;i++)
   {
   	    for(int j=1;j<=8;j++)
   	    {
   	        if(a[i][j]==1&&(_____(4)______))	
   	        {
   	            flag=0;
		    ______(5)________
		    break;	
		}
	   }
   }
   if(flag)
   		cout<<"safe";
   else
   		cout<<"dangerous";
}

(1)第一空的答案为_______

A.  flag   B. flag=0   C. flag=1  D. flag=64

(2)第二空的答案为_______

A.  81   B. 81*sizeof(a)   C. 162  D. sizeof(a)

(3)第三空的答案为_______

A.  a[x-1][y-1]=0   B. a[x-1][y-1]=1   C. a[x][y]=1  D. a[x][y]=0

(4)第四空的答案为_______

A.  x==i||y==j||abs(x-i)==abs(y-j)   B. x==i||y==j   

C.  abs(x-i)==abs(y-j)    D. (x==i||y==j)&&abs(x-i)==abs(y-j)

(5)第五空的答案为_______

A.  i++   B. j++   C. i=9  D. j=9

输入

输出

输出每个空的选项答案,单独一行,一共五行,均为大写字母

提示

来源

[提交][状态]