麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

1140_八皇后

2019-11-14 12:03:57
字體:
來源:轉載
供稿:網友
// 1140_八皇后.cpp : 定義控制臺應用程序的入口點。//題目1140:八皇后//時間限制:1 秒內存限制:32 兆特殊判題:否提交:908解決:557//題目描述://會下國際象棋的人都很清楚:皇后可以在橫、豎、斜線上不限步數地吃掉其他棋子。如何將8個皇后放在棋盤上(有8 * 8個方格),使它們誰也不能被吃掉!這就是著名的八皇后問題。 //對于某個滿足要求的8皇后的擺放方法,定義一個皇后串a與之對應,即a=b1b2...b8,其中bi為相應擺法中第i行皇后所處的列數。已經知道8皇后問題一共有92組解(即92個不同的皇后串)。//給出一個數b,要求輸出第b個串。串的比較是這樣的:皇后串x置于皇后串y之前,當且僅當將x視為整數時比y小。//輸入://第1行是測試數據的組數n,后面跟著n行輸入。每組測試數據占1行,包括一個正整數b(1 <= b <= 92)//輸出://輸出有n行,每行輸出對應一個輸入。輸出應是一個正整數,是對應于b的皇后串。//樣例輸入://2//1//92//樣例輸出://15863724//84136275//來源://2008年北京大學軟件所計算機研究生機試真題#include "stdafx.h"#include "iostream"using namespace std;int result[100][10];int cnt;void eightQueen(int i,int j,int visit[9]){ if(i<=8 && j<=8){ int l; for(l =1;l<i;l++){ if(j==visit[l] || ((i-j)==(l-visit[l])) || ((i+j)==(l+visit[l]))) break; } if(l == i){ visit[i] = j; if(i == 8){ for(int k = 1;k<=8;k++) result[cnt][k] = visit[k]; cnt++; } else eightQueen(i+1,1,visit); } eightQueen(i,j+1,visit); //不管是(i,j)這個點不能放皇后,或者是回溯回來,都執行 }}int main(){ int n; int visit[9]; cnt = 1; eightQueen(1,1,visit); while(cin>>n){ while(n--){ int x; cin>>x; for(int k=1;k<=7;k++) cout<<result[x][k]; cout<<result[x][8]<<endl; } } return 0;}/*1.visit[][]數組如果用來表示哪些點可以放皇后的話,導致回溯的時候無法確認哪些點要改回去,所以 visit數組還是應該用來記錄哪些點已經存放皇后 *///char result[93][9];//int cnt;////void eightQueen(int i,int j,int visit[9][9],int count,char temp[9]){// if (visit[i][j]){// count++;// if(count==8){// cnt++;// for(int k=0;k<7;k++)// result[cnt][k] = temp[k];// result[cnt][7] = j;// }// else{// temp[count-1] = j + '0';// for(int k = 1;k<=8;k++){// visit[k][j] = visit[i][k] = 0;// if(i+k<=8 && j-k>=1)// visit[i+k][j-k] = 0;// if(i+k<=8 && j+k<=8)// visit[i+k][j+k] = 0;// if(i-k>=1 && j-k>=1)// visit[i-k][j-k] = 0;// if(i-k>=1 && j+k<=8)// visit[i-k][j+k] = 0;// }// for(int k =1;k<=8;k++)// if(i+1<=8)// eightQueen(i+1,k,visit,count,temp);// count--;// for(int k = 1;k<=8;k++){// visit[i][k] = 1;// if(k>i) // visit[k][i] = 1;// if(i+k<=8 && j-k>=1)// visit[i+k][j-k] = 1;// if(i+k<=8 && j+k<=8)// visit[i+k][j+k] = 1;// if(i-k>=1 && j-k>=1)// visit[i-k][j-k] = 1;// if(i-k>=1 && j+k<=8)// visit[i-k][j+k] = 1;// }// if(j<7)// eightQueen(i,j+1,visit,count,temp);//// }// }// //}////int main()//{// int n;// int count = 0;// char temp[9];// int visit[9][9];// for(int i = 1;i<=8;i++)// for(int j= 1;j<=8;j++)// visit[i][j] = 1;// cnt = 0;// eightQueen(1,1,visit,count,temp);// while(cin>>n){// while(n--){// int x;// cin>>x;// cout<<result[x]<<endl;// }// }// return 0;//}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日本一级黄色大片 | 欧美片a | 久久久久久久久久亚洲 | 粉嫩粉嫩一区二区三区在线播放 | 欧美1区2区在线观看 | 97超视频在线观看 | 久久精品99北条麻妃 | 亚洲骚妻 | 精品一区二区三区免费毛片爱 | 亚洲涩涩图 | 日韩精品一区二 | aa国产视频一区二区 | 日本在线免费观看视频 | 国产91久久精品一区二区 | 亚洲午夜久久久精品一区二区三区 | 快播av在线| 日日草夜夜 | 免费观看国产精品视频 | 九九热精品视频在线 | 美国人成人在线视频 | 一级毛片真人免费播放视频 | 伊人一二三四区 | 万圣街在线观看免费完整版 | 精品国产91久久久久久 | 在线观看一二区 | 亚洲一区二区成人 | 护士hd欧美free性xxxx | 欧美性猛交xxx乱大交3蜜桃 | 91色成人| 天天干干 | 欧美 国产 亚洲 卡通 综合 | 日本一区二区不卡在线观看 | 在线免费黄色网 | 羞羞视频免费观看入口 | 成人精品视频网站 | 成码无人av片在线观看网站 | 午夜爽爽爽男女免费观看hd | 欧美黄色性视频 | 久久www视频| 久久老司机 | 欧美精品久久天天躁 |