日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

皇后问题

發布時間:2025/4/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 皇后问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Submit?Status

Description

在N*N的方格棋盤放置了N個皇后,使得它們不相互攻擊(即任意2個皇后不允許處在同一排,同一列,也不允許處在與棋盤邊框成45角的斜線上。?
你的任務是,對于給定的N,求出有多少種合法的放置方法。?

Input

共有若干行,每行一個正整數N≤10,表示棋盤和皇后的數量;如果N=0,表示結束。

Output

共有若干行,每行一個正整數,表示對應輸入行的皇后的不同放置數量。

Sample Input

1 8 5 0

Sample Output

1 92 10 這道題有一個難點就是不允許皇后處在與棋盤邊框成45角的斜線這一條件,看了別的大神的博客才發現,每一點都會處在一條斜線上,需要做的就是判斷那一條斜線上是否已經存在皇后即可。 接下來枚舉每一行的位置,每次都與之前所放置過的位置判斷,直到找到最優位置。 額,這道題雖然用了遞歸的方法和DFS的名字,不過真正使用的卻是回溯而已.

#include"iostream"
#include"cstring"
using namespace std;

int n;
int temp;
int a[11];

void DFS(int step)
{
if(step==n+1)
{
temp++;
return;
}
int flag;
for(int i=1;i<=n;i++)
{
a[step]=i;
flag=0;
for(int j=1;j<step;j++)
{
if(a[j]==i||i-step==a[j]-j||i+step==a[j]+j)
{
flag=1;
break;
}
}
if(flag==0) {DFS(step+1);}
}

}

int main()
{

int ans[11];
for(n=1;n<=10;n++)
{
temp=0;
memset(a,0,sizeof(a));
DFS(1);
ans[n]=temp;
}
int m;
while(cin>>m&&m)
cout<<ans[m]<<endl;
return 0;
}

?

翻了翻紫書,發現有DFS的解題方法,相較回溯而言,效率高了一些

回溯:46ms

DFS:31ms

#include"iostream" #include"cstring" using namespace std; int n; int temp; int book[110][110]; void DFS(int step) { if(step==n+1) { temp++; return; } for(int i=1;i<=n;i++) { if(!book[0][i]&&!book[1][step+i]&&!book[2][step-i+n]) { //a[step]=i; book[0][i]=book[1][step+i]=book[2][step-i+n]=1; DFS(step+1); book[0][i]=book[1][step+i]=book[2][step-i+n]=0; } } } int main() { int ans[11]; for(n=1;n<=10;n++) { temp=0; memset(book,0,sizeof(book)); DFS(1); ans[n]=temp; } int m; while(cin>>m&&m) cout<<ans[m]<<endl; return 0; }

?

轉載于:https://www.cnblogs.com/zsyacm666666/p/4664793.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的皇后问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 69av视频在线观看 | 精品99视频 | 国产又大又黄又粗 | 亚洲一品道| 欧美日韩 一区二区三区 | 男女啊啊啊视频 | 综合天堂av久久久久久久 | 免费看国产一级片 | 中文字幕第23页 | 国产第一草草影院 | 一区二区三区av | 欧美一区二区三区久久成人精品 | 亚洲宗人网 | √天堂8资源中文在线 | www.sesehu.com| 大陆农村乡下av | 日韩精品一区二区三区国语自制 | 欧美影院一区二区三区 | 久草视频免费在线观看 | 日韩久久精品电影 | 国产黄色网络 | 天天人人 | 欧美xxxxx高潮喷水麻豆 | 日韩69| 香蕉尹人网 | 久久精品这里 | 免费一级片| 精品久久国产视频 | 99视频| 国产另类av| 激情久久五月 | 欧美日韩在线观看一区二区 | 天天干夜夜骑 | 久久羞羞| 国产精品av网站 | 免费黄色入口 | 高潮网| 国产电影一区二区三区 | 东方成人av | av字幕网| 国产亚洲精品久久久久四川人 | 亚洲综合视频在线 | 内射合集对白在线 | 欧美精品入口蜜桃 | 69日本xxxxxxxxx30| 美女高潮黄又色高清视频免费 | 麻豆91视频 | 久久福利视频导航 | 在线观看欧美日韩视频 | 狠狠干狠狠干狠狠干 | 欧美亚洲黄色片 | 色屁屁ts人妖系列二区 | 制服一区 | 亚洲三级黄色 | 五级黄高潮片90分钟视频 | 亚洲一区二区三区免费看 | 日b视频在线观看 | 婷婷狠狠 | 色婷婷久久 | 国产中文一区二区三区 | 99精品久久久久 | 亚洲AV无码成人精品一区 | 一边摸上面一边摸下面 | 免费观看日韩av | 丰满人妻一区二区三区53 | xxxxx毛片 | 亚洲欧美另类日韩 | 成年人国产精品 | 国产精品免费在线播放 | 国产麻豆网| 欧美一区二区三区久久成人精品 | 日韩精品一区在线 | 国产精品免费91 | 粗大挺进潘金莲身体在线播放 | 亚洲一区二区在线播放 | 国产69精品久久 | 成年人在线免费观看视频网站 | www国产亚洲精品久久麻豆 | 最近中文字幕免费mv视频7 | 久久青青国产 | 中文字幕视频一区二区 | 国产高清免费在线播放 | 久久精品一区二区在线观看 | 日日躁夜夜躁白天躁晚上躁91 | 亚洲午夜在线视频 | 91成人小视频 | 在线步兵区 | 午夜小视频在线播放 | 性综艺节目av在线播放 | 绿帽视频 | 加勒比综合在线 | 99爱爱视频 | 精品无码在线视频 | 国产视频精品一区二区三区 | 日韩porn| 蜜桃免费av | 无套内谢少妇高潮免费 | 99涩涩| 九色porny自拍视频在线播放 |