C語言八皇后衝突問題

2021-08-09 18:48:26 字數 779 閱讀 5008

時限:1000ms 記憶體限制:10000k  總時限:3000ms

描述八皇后問題是在8*8的西洋棋的棋盤上放置8個皇后,有多少種不同的放置方法,要求它們互相都不衝突(衝突是指在某一行或者某一列或者某一條斜線上出現兩個皇后,因為這兩個皇后可以互相吃掉對方)。其中行號和列號都從0開始。現在前三行(0~2行)每行乙個皇后已經放置好的情況下,第3行的皇后想要放在給定的列,需要你編乙個程式判斷它是否與前三行的皇后衝突。

輸入首先輸入3行8列資料(0~2行,0~7列),1表示有皇后,0表示沒有皇后

然後輸入第3行要擺放的皇后的列號。

輸出第3行所給的列號處如果能放皇后,則輸出yes換行,不可以的話輸出no,注意要有回車。

輸入樣例

1 0 0 0 0 0 0 0

0 0 1 0 0 0 0 0

0 0 0 0 0 0 1 0 1

輸出樣例

yes

#include

int main()

} scanf("%d%d",&m,&n);

for(i=3;i<8;i++)

}//把3~7行初始化為0 

for(j=0;j<8;j++)

}//判斷行內是否有皇后 

for(i=0;i<8;i++)

}//判斷列內是否有皇后 

for(i=0;i<8;i++)

}//判斷右斜行是否有皇后 

for(i=0;i<8;i++)

}//判斷左斜行是否有皇后 

printf("yes\n");

八皇后問題 C語言

八皇后問題是乙個以西洋棋為背景的問題 如何能夠在 8 8 的西洋棋棋盤上放置八個皇后,使得任何乙個皇后都無法直接吃掉其他的皇后?為了達到此目的,任兩個皇后都不能處於同一條橫行 縱行或斜線上。八皇后共有92種解法。八皇后問題可以推廣為更一般的n皇后擺放問題 這時棋盤的大小變為n n,而皇后個數也變成n...

c語言八皇后問題

在西洋棋裡面,皇后是最具有殺傷力的 它可以對它的十字形和對角線元素進行攻擊。八皇后問題就是在8 8的棋盤上的每一行都放置乙個皇后,使他們無法進行互相攻擊 思路 1.編寫乙個函式,將乙個皇后放在第一列,如果存在攻擊就把皇后放在第二列,如果每列都存在互相攻擊的情況,則這個函式返回 2.若皇后可以放在這個...

八皇后問題(C語言)

問題描述 八皇后問題是乙個以西洋棋為背景的問題 如何能夠在 8 8 的西洋棋棋盤上放置八個皇后,使得任何乙個皇后都無法直接吃掉其他的皇后。為了達到此目的,任兩個皇后都不能處於同一條橫行 縱行或斜線上。例如下圖就是八皇后問題的乙個解 假如一棋盤已經正確放置了七個皇后,編寫程式求解最後乙個皇后的放置位置...