数据结构之八皇后
#include
#include
#include
#include
int printed;
void draw(int* a,int k)
{
int i,j;
for(i=0;i<k;i++)
{
printf("\t");
for(j=0;j<k;j++)
if(a[i]-1==j) printf("Q "); else printf("- ");
printf("\n");
}
printf("\n");
}
void Settle(int *a,int iStep,int k)
{
int i,j,l,flag=1;
for(i=0;i<iStep-1;i++)
if(a[iStep-1]==a[i]) return;
if(iStep==k)
{
for(j=0;j<k;j++)
for(l=0;l<k&&l!=j;l++)
if(fabs(j-l)==fabs(a[j]-a[l])) flag=0;
if(flag)
{
for(i=0;i<k;i++)
printf("(%d,%d) ",i+1,a[i]);
printf("\n");
draw(a,k);
printed++;
}
flag=1;
}
for(i=1;i<=k;i++)
{
a[iStep]=i;
Settle(a,iStep+1,k);
}
}
void main()
{
int* a;
int k;
printf("Enter the size of the square:");
scanf("%d",&k);
a=(int*)calloc(k,sizeof(int));
system("cls");
Settle(a,0,k);
if(! printed) printf("No answers accepted!\n");
else printf("%d states available!\n",printed);
}
这是用C语言实现的,主要是递归全排列,具体不会的再问我吧^^
谁知道Queen皇后乐队成员个人资料及作品?
皇后乐队(Queen)由主唱佛莱迪·摩克瑞、吉他手布赖恩·梅、鼓手罗杰⋅泰勒和贝斯手约翰·迪肯组成 。1、佛莱迪·摩克瑞(1946年9月5日-1991年11月24日),英国音乐家,皇后乐队(Queen)的主唱。1946年9月5日生于东非坦桑尼亚。摩克瑞以高亢璀璨的音色与戏剧化的表演方式著称。1991年11月24日,他死于艾滋病所引发的肺炎。2、布莱恩・哈罗德・梅,1947年7月19日出生于伦敦汉普顿(Hampton, London, England, UK),世界著名吉他手、作曲家、天文学家、英国著名摇滚乐队Queen 的成员、物理学家、著述家、CBE勋爵。3、罗杰·泰勒,1949年7月26日出生于英国,是一位英国创作歌手和多种乐器的乐手,最出名的身份是英国摇滚乐队皇后乐队鼓手。作为鼓手他以独特的音色而闻名,是1970到1980年代最有影响力的摇滚鼓手之一。4、约翰·迪肯,出生于1951年8月19日,英国著名乐队Queen(皇后乐队)贝斯手。1、1973年,皇后乐队(Queen)推出首张录音室专辑《Queen》。2、1975年,专辑《A Night at the Opera》让乐队取得了商业突破。3、1977年,单曲《Bohemian Rhapsody》获得第1届全英音乐奖最佳英国单曲。4、1980年,单曲《Crazy Little Thing Called Love》和《Another One Bites the Dust》取得了美国公告牌百强单曲榜冠军。5、1981年,发行精选集《Greatest Hits》,成为英国销量最高的专辑。6、1995年,最后一张录音室专辑《Made in Heaven》发行。扩展资料: 2001年,皇后乐队(Queen)入驻第16届美国摇滚名人堂。2002年,在好莱坞星光大道留名。2004年,保罗·罗杰斯开始担任乐队巡演主唱。2009年,单曲《We Will Rock You》和《We Are The Champions》被格莱美名人堂收录。2011年,亚当·兰伯特成为乐队巡演主唱。2012年,参加伦敦奥运会闭幕式演出。2018年,获得第60届格莱美终身成就奖,同年乐队的传记电影《波西米亚狂想曲》打破音乐传记类电影票房纪录。参考资料来源:百度百科——皇后乐队
数据结构八皇后问题
{输入棋盘大小值n;m=0; //从空配置开始notcatch=1; //空配置中皇后不能相互捕捉do{if(notcatch){if(m==n){输出解;调整(形成下一个候选解else扩展当前候选解至下一列; //向前试探else调整(形成下一个候选解); //向后回溯notcatch = 检查当前候选解的合理性*/#include "stdlib.h"#define MAXN 100//全局变量及全局工作数组定义int m,n,NotCatch;int ColFlag[MAXN+1]; /*表示第i列的第ColFlag[i]行有皇后,(1:有;0:没有)*/int RowFlag[MAXN+1]; /*RowFlag[i]:表示第i行没有皇后(1:没有;0:有)*/int upBiasFlag[2*MAXN+1]; /*upBiasFlag[i]:表示第i条上斜线(右高左斜)没有皇后(1:没有;0:有)*/int dnBiasFlag[2*MAXN+1]; /*dnBiasFlag[i]:表示第i条下斜线(左高右斜)没有皇后(1:没有;0:有)*///显示输入填写的数字void ArrangeQueen(){int i;char answer;printf("输入棋盘边格数:");scanf("%d",&n);for(i=0;i求采纳为满意回答。