II.有借有還


Submit solution

分數: 100 (partial)
時間限制: 1.0s
記憶體限制: 1G

作者:
題目類型
允許的語言
Assembly, Brainfuck, C, C++, Python

電電:「ㄝㄝ上次老師出的資訊作業你寫了嗎?」 串串:「你是說那個8皇后問題的作業嗎?有阿。」 電電:「拜託借我抄一下拉\(下課請你飲料。」 串串:「靠X,每次都抄我的,你抄我作業的次數比這整個judge上的題目還多吧。好啦借你抄拉,你欠我一次。」 電電:「好啦我以後有機會會還的\)(卑鄙原之助)」     電電:「話說...你的程式是不是有點小問題啊?」 串串:「哪有可能?你自己跑看看就知道了,就不信你能找到什麼問題。」 電電:「喔...」 串串:「記得喔!你欠我的。」 電電:「ㄝ很派ㄝ。」     題目敘述: 輸入1個數字T,給出T組不同的8皇后問題解(只要棋盤配置不同即是為不同)。   輸入說明: 一個數字T(\(T \leq 50\))。   輸出說明: 給出T組不同的8皇后問題解,每個解由8*8的0或1方陣組成(1表示有皇后在該格)。   程式碼: #include<iostream> using namespace std; unsigned t; int s[8][8] = {}; void solve(int i){ if (i == 8){ for(int a = 0;a < 8;a++){ for(int b = 0;b < 8;b++) cout << s[a][b]; cout << '\n'; } cout << '\n'; t--; retu ; } for(int a = 0;a < 8;a++){ int cnt = 0; //count how many queens is attacked by current queen for(int b = 0;b < i;b++) cnt += s[b][a]; for(int x = i-1,y = a-1;(x>=0)&&(y>=0);x--,y--) cnt += s[x][y]; for(int x = i-1,y = a+1;(x>=0)&&(y<8);x--,y++) cnt += s[x][y]; if (!cnt){ s[i][a] = 1; solve(i+1); s[i][a] = 0; if (!t) retu ; } } } int main(){ cin >> t; if (t) solve(0); }  

輸入格式

(無)

輸出格式

輸出符合格式的測資,使串串的程式錯誤。

範例輸入

undefined

範例輸出

undefined

評論

目前沒有評論。