欢迎访问皮皮网官网
皮皮网

【公众号开发源码】【深圳孕期吃溯源码燕窝价格】【数码宝贝新世纪源码试炼】国际象棋软件源码_国际象棋软件源码下载

时间:2024-11-15 10:30:43 分类:热点 来源:阿里蜘蛛池 源码

1.�����������Դ��
2.题目:要求输出国际象棋棋盘。国际国际 1.程序分析:用i控制行,象棋象棋下载j来控制列,软件软件根据i+j的源码源码公众号开发源码和的变化来控制输出黑方格,
3.二级C语言

国际象棋软件源码_国际象棋软件源码下载

�����������Դ��

       代码如下:

#include <iostream>

       #include <cstdio>

       #define UINT unsigned int

       #define ULL unsigned long long

       #define MAXN ;

       using namespace std;

       int N,国际国际ans,minstep;

       UINT Row,Col;

       UINT Lft,Rgt;

       inline UINT lowbit(UINT x){

           return x&(-x);

       }

       bool check(){

           UINT tR=~Row,tC;

           UINT curR,curC;

           while(tR){

               curR=lowbit(tR);

               tR ^= curR;

               tC = ~Col;

               while(tC){

                   curC=lowbit(tC);

                   tC^=curC;

                   if((Rgt & (curR*curC))!=0 || (Lft & ((1<<(N-1))/curR*curC))!=0)

                       continue;

                   return false;

               }

           }

           return true;

       }

       void dfs(int row,int used,UINT col,UINT dig,UINT adg){

           if(used>minstep)

               return;

           if(row == N){

               if(check()){

                   if(used < minstep){

                       minstep = used;

                       ans=0;

                   }

                   ans++;

               }

               return;

           }

           UINT status=~(col|dig|adg);

           UINT binRow=(1<<row);

           while(status){

               UINT t=status&(-status);

               Col^=t;

               Row^=binRow;

               Lft^=((1<<(N-1))/binRow*t);

               Rgt^=(binRow*t);

               dfs(row+1,used+1,(t|col),(t|dig)>>1,(t|adg)<<1);

               Col^=t;

               Row^=binRow;

               Lft^=((1<<(N-1))/binRow*t);

               Rgt^=(binRow*t);

               status^=t;

           }

           dfs(row+1,used,col,dig>>1,adg<<1);

       }

       int main(){

           while(cin>>N){

               UINT col=(1<<N)-1;

               col=~col;

               ans=0;

               minstep=N+1;

               Row=Col=col;

               Rgt=Lft=0;

               dfs(0,0,col,0,0);

               cout<<minstep<<endl<<ans<<endl;

           }

           return 0;

       }

题目:要求输出国际象棋棋盘。 1.程序分析:用i控制行,象棋象棋下载深圳孕期吃溯源码燕窝价格j来控制列,软件软件根据i+j的源码源码和的变化来控制输出黑方格,

       前面的国际国际部分你应该能看懂吧,就是象棋象棋下载按行循环一共8行,每行循环8次,软件软件就是源码源码全部的格棋盘了,如果行跟列的国际国际数码宝贝新世纪源码试炼和是个偶数,就显示ASCII表中的象棋象棋下载第个字符,如果不是软件软件则以空格代替,这样就能显示出交错的北京北与北京朝阳站源码棋盘。

       ASCII表第个字符是"Û",也就是"U"上头有一个"^"符号。这是程序化打板指标源码一个拉丁字母。方便拼读。但你看下我给你留的参考资料里面的推荐答案,实际上整体效果是国际象棋的棋盘~

       补充一下:像这种专业背景的题目要有加分才会有人帮你回答的~

二级C语言

       

copyright © 2016 powered by 皮皮网   sitemap