亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

八皇后動態圖形的實現

2019-11-17 05:38:42
字體:
來源:轉載
供稿:網友

  八皇后問題是一個古老而聞名的問題,是回溯算法的典型例題。該問題是十九世紀聞名的數學家高斯1850年提出:在8X8格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處于同一行、同一列或同一斜線上,問有多少種擺法。
  高斯認為有76種方案。1854年在柏林的象棋雜志上不同的作者發表了40種不同的解,后來有人用圖論的方法解出92種結果。
  對于八皇后問題的實現,假如結合動態的圖形演示,則可以使算法的描述更形象、更生動,使教學能產生良好的效果。下面是筆者用Turbo C實現的八皇后問題的圖形程序,能夠演示全部的92組解。八皇后問題動態圖形的實現,主要應解決以下兩個問題。
1.回溯算法的實現
(1)為解決這個問題,我們把棋盤的橫坐標定為i,縱坐標定為j,i和j的取值范圍是從1到8。當某個皇后占了位置(i,j)時,在這個位置的垂直方向、水平方向和斜線方向都不能再放其它皇后了。用語句實現,可定義如下三個整型數組:a[8],b[15],c[24]。其中:a[j-1]=1 第j列上無皇后
a[j-1]=0 第j列上有皇后
b[i+j-2]=1 (i,j)的對角線(左上至右下)無皇后
b[i+j-2]=0 (i,j)的對角線(左上至右下)有皇后
c[i-j+7]=1 (i,j)的對角線(右上至左下)無皇后
c[i-j+7]=0 (i,j)的對角線(右上至左下)有皇后 ?。?)為第i個皇后選擇位置的算法如下:for(j=1;j<=8;j++) /*第i個皇后在第j行*/
if ((i,j)位置為空)) /*即相應的三個數組的對應元素值為1*/
{占用位置(i,j) /*置相應的三個數組對應的元素值為0*/
if i<8
為i+1個皇后選擇合適的位置;
else 輸出一個解
}2.圖形存取
  在Turbo C語言中,圖形的存取可用如下標準函數實現:size=imagesize(x1,y1,x2,y2) ;返回存儲區域所需字節數。
arrow=malloc(size);建立指定大小的動態區域位圖,并設定一指針arrow。
getimage(x1,y1,x2,y2,arrow);將指定區域位圖存于一緩沖區。
putimage(x,y,arrow,copy)將位圖置于屏幕上以(x,y)左上角的區域。3. 程序清單如下#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <dos.h>
char n[3]={'0','0'};/*用于記錄第幾組解*/
int a[8],b[15],c[24],i;
int h[8]={127,177,227,277,327,377,427,477};/*每個皇后的行坐標*/
int l[8]={252,217,182,147,112,77,42,7};/*每個皇后的列坐標*/
void *arrow;
void try(int i)
{int j;
for (j=1;j<=8;j++)
if (a[j-1]+b[i+j-2]+c[i-j+7]==3) /*假如第i列第j行為空*/
{a[j-1]=0;b[i+j-2]=0;c[i-j+7]=0;/*占用第i列第j行*/
putimage(h[i-1],l[j-1],arrow,COPY_PUT);/*顯示皇后圖形*/
delay(500);/*延時*/
if(i<8) try(i+1);
else /*輸出一組解*/
{n[1]++;if (n[1]>'9') {n[0]++;n[1]='0';}
bar(260,300,390,340);/*顯示第n組解*/
outtextxy(275,300,n);
delay(3000);
}
a[j-1]=1;b[i+j-2]=1;c[i-j+7]=1;
putimage(h[i-1],l[j-1],arrow,XOR_PUT);/*消去皇后,繼續尋找下一組解*/
delay(500);
}
}
int main(void)
{int gdrive=DETECT,gmode,errorcode;
unsigned int size;
initgraph(&gdrive,&gmode,"");
errorcode=graphresult();
if (errorcode!=grOk)
{rectangle(50,5,100,40);
rectangle(60,25,90,33);
/*畫皇冠*/
line(60,28,90,28);line(60,25,55,15);
line(55,15,68,25);line(68,25,68,10);
line(68,10,75,25);line(75,25,82,10);
line(82,10,82,25);line(82,25,95,15);
line(95,15,90,25);
size=imagesize(52,7,98,38); arrow=malloc(size);
getimage(52,7,98,38,arrow);/*把皇冠保存到緩沖區*/
clearviewport();
settextstyle(TR
ipLEX_FONT, HORIZ_DIR, 4);
setusercharsize(3, 1, 1, 1);
setfillstyle(1,4);
for (i=0;i<=7;i++) a[i]=1;
for (i=0;i<=14;i++) b[i]=1;
for (i=0;i<=23;i++) c[i]=1;
for (i=0;i<=8;i++) line(125,i*35+5,525,i*35+5);/*畫棋盤*/
for (i=0;i<=8;i++) line(125+i*50,5,125+i*50,285);
try(1);/*調用遞歸函數*/
delay(3000);
closegraph();
free(arrow);
}


上一篇:WinHelp API命令方法

下一篇:八皇后問題

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91免费国产视频| 精品国偷自产在线视频99| 国产欧美精品xxxx另类| 91天堂在线视频| 最近2019年中文视频免费在线观看| 亚洲日本aⅴ片在线观看香蕉| 欧美成人精品在线观看| 亚洲自拍偷拍第一页| 欧美一级片久久久久久久| 大伊人狠狠躁夜夜躁av一区| 亚洲国产美女久久久久| 国产一区玩具在线观看| 欧美多人爱爱视频网站| 日韩精品视频三区| 欧美日韩免费看| 国内精品久久久久影院优| 久久夜色精品国产亚洲aⅴ| 成人午夜在线观看| www.日韩.com| 国产精品伦子伦免费视频| 久久视频在线看| 色偷偷噜噜噜亚洲男人的天堂| 欧美中文在线观看国产| 91精品久久久久久久| 久久亚洲精品国产亚洲老地址| 成人中文字幕在线观看| 久久成人精品视频| 91av在线免费观看| 亚洲美女av电影| 粉嫩老牛aⅴ一区二区三区| 91精品国产网站| 羞羞色国产精品| 欧美亚洲第一页| 在线播放亚洲激情| 久久久久久久久久久网站| 国产成+人+综合+亚洲欧美丁香花| 日韩av网站在线| 亚洲第一网站免费视频| 国产精品自产拍高潮在线观看| 亚洲已满18点击进入在线看片| 久热精品视频在线观看| 国产精品网站视频| 国产精品狼人色视频一区| 国产成人精品免高潮在线观看| 国产一区二区黄| 69av成年福利视频| 国产91精品久| 中文字幕国产精品| 亚洲欧美一区二区三区久久| 日韩av片电影专区| 91人人爽人人爽人人精88v| 国产精品爽黄69天堂a| 国产视频久久网| 免费不卡欧美自拍视频| 俺去亚洲欧洲欧美日韩| 日本中文字幕久久看| 久久久中文字幕| 2020久久国产精品| 国产日本欧美一区二区三区在线| 国产一区二区日韩| 日韩视频免费大全中文字幕| 久久精品国产99国产精品澳门| 欧美在线视频观看| 国产精品三级在线| 欧美成aaa人片在线观看蜜臀| y97精品国产97久久久久久| 久久久久久久久久国产精品| 日韩免费在线看| 亚洲国产私拍精品国模在线观看| 亚洲乱码国产乱码精品精| 亚洲一区第一页| 性欧美xxxx视频在线观看| 国产v综合v亚洲欧美久久| 成人网中文字幕| 久久久亚洲成人| 久久青草福利网站| 久久久国产91| 欧美人与性动交a欧美精品| 色综合伊人色综合网站| 韩国精品久久久999| 日韩av手机在线看| 国产精品一区电影| 成人精品久久av网站| 欧日韩不卡在线视频| 亚洲第一国产精品| 97精品视频在线播放| 这里只有视频精品| 久久久99免费视频| 久久久免费高清电视剧观看| 亚洲人成网7777777国产| 国外成人免费在线播放| 欧美大片在线影院| 欧美日韩国产色| 国内精品久久久久影院 日本资源| 亚洲精品久久久一区二区三区| 日韩中文字幕在线视频| 日韩国产欧美精品一区二区三区| 久久久亚洲国产天美传媒修理工| 日韩亚洲综合在线| 国产成人免费91av在线| 国产精品久在线观看| 国产精品夜色7777狼人| 国产精品jvid在线观看蜜臀| 欧美大尺度在线观看| 中文字幕无线精品亚洲乱码一区| 国产精品老牛影院在线观看| 日韩极品精品视频免费观看| 国产精品视频地址| 亚洲美女动态图120秒| 懂色aⅴ精品一区二区三区蜜月| 永久555www成人免费| 亚洲精品国产精品久久清纯直播| 亚洲三级黄色在线观看| 国产精品一区二区av影院萌芽| 欧美黄色成人网| 久久精品99国产精品酒店日本| 日韩av手机在线| 国产成人精品免费久久久久| 一区二区成人av| 欧美极品少妇xxxxⅹ喷水| 国产欧美在线看| 久久九九热免费视频| 91av免费观看91av精品在线| 欧美精品久久久久a| 日韩精品一区二区视频| 亚洲精品美女在线观看| 一区二区中文字幕| 91av在线播放| 91亚洲国产成人精品性色| 自拍亚洲一区欧美另类| 国产欧美精品xxxx另类| 九九热r在线视频精品| 麻豆国产精品va在线观看不卡| 国产一区二区视频在线观看| 日韩av电影院| 亚洲男人天堂2023| 国产精品免费观看在线| 国产亚洲精品综合一区91| 国产精品日韩av| 97超级碰碰人国产在线观看| 日韩av不卡在线| 欧美成人午夜激情在线| 最近2019年日本中文免费字幕| 国产精品高清在线观看| 性色av一区二区咪爱| 国内精品久久久久| 欧美日韩亚洲一区二| 国产精品偷伦一区二区| 日韩在线视频观看正片免费网站| 日韩欧美视频一区二区三区| www.亚洲男人天堂| 日韩女优人人人人射在线视频| 国产成人精品免高潮费视频| 最近2019中文字幕大全第二页| 国产精品扒开腿做爽爽爽男男| 少妇高潮久久久久久潘金莲| 亚洲无线码在线一区观看| 91久久精品国产| 日韩视频在线一区| 国产精品视频99| 日韩视频免费大全中文字幕| 国产成人精品在线| 国产91色在线| 美女视频黄免费的亚洲男人天堂|