Knuth学徒 发表于 2011-2-18 15:28:57

【C】超短代码展现8皇后问题所有解——美工过

效果如下:

代码:#include<stdio.h>
#define p printf
int a;
void show(int j){
        for(int k=0;k<9;++k){
                if(k==a)p("☆");
                else p("■");}
        p("\n");
}
void main(int i,int j)
{
        for(j=9;--j;i>8?(j>1?show(j):
        (show(j),p("---------\n")))
        :(a|a|a)
        ||(a=a=a=i,main(i+1,j),
        a=a=a=0));
}

yhtjay 发表于 2011-2-28 16:33:08

用int main()吧~
算法不错!赞一个!看到这个算法,至少我到现在还没想到更好的!呵呵!

华仔在吗 发表于 2014-4-28 13:48:46

虽然是三年前的贴,但是大哥国际象棋是8*8滴

menglv 发表于 2015-5-25 17:37:15

真的是很精简的代码,很经典的算法题。
页: [1]
查看完整版本: 【C】超短代码展现8皇后问题所有解——美工过