中国象棋将帅问题
来源:互联网 发布:数据报表 编辑:程序博客网 时间:2024/04/26 13:43
1.方法一
#include<iostream>using namespace std;#define HALF_BITS_LENGTH 4#define FULLMASK 255#define LMASK (FULLMASK<<HALF_BITS_LENGTH)#define RMASK (FULLMASK>>HALF_BITS_LENGTH)#define RSET(b,n) (b=((LMASK&b)|n))#define LSET(b,n) (b=((RMASK&b)|(n<<HALF_BITS_LENGTH)))#define RGET(b) (RMASK&b)#define LGET(b) ((LMASK&b)>>HALF_BITS_LENGTH)#define GRIDW 3int main(){ unsigned char b; for(LSET(b,1);LGET(b)<=GRIDW*GRIDW;LSET(b,(LGET(b)+1))) { for(RSET(b,1);RGET(b)<=GRIDW*GRIDW;RSET(b,(RGET(b)+1))) { if(LGET(b)%GRIDW!=RGET(b)%GRIDW)cout<<"A="<<LGET(b)<<",B="<<RGET(b)<<endl; } } return 0;}2.方法二
#include<iostream>using namespace std;typedef unsigned char BYTE;int main(){ BYTE i=81; while(i--) { if(i/9%3==i%9%3)continue; cout<<"A="<<i/9+1<<",B="<<i%9+1<<endl; } return 0;}3.方法三
#include<iostream>using namespace std;struct{ unsigned char a:4; unsigned char b:4;}i;int main(){ for(i.a=1;i.a<=9;i.a++) { for(i.b=1;i.b<=9;i.b++) { if(i.a%3!=i.b%3)cout<<"A="<<(int)i.a<<",B="<<(int)i.b<<endl; } } return 0;}4.N重循环
#include<iostream>using namespace std;int main(){ int N=3*4*5; while(N--) { cout<<N+1<<",i="<<N/(3*4)%5+1<<",j="<<N/3%4+1<<",k="<<N%3+1<<endl; } return 0;}
0 0
- 中国象棋将帅问题
- 中国象棋将帅问题
- 中国象棋将帅问题
- 中国象棋将帅问题
- 中国象棋将帅问题
- 中国象棋将帅问题
- 中国象棋将帅问题
- 中国象棋将帅问题
- 1.中国象棋将帅问题
- 中国象棋的将帅问题
- 中国象棋之将帅问题
- 中国象棋将帅问题
- 1.2中国象棋将帅问题
- 中国象棋将帅问题
- 中国象棋将帅问题
- 中国象棋将帅问题
- 中国象棋的将帅问题
- 中国象棋将帅问题
- 开发基本
- Codeforces 460B Little Dima and Equation
- android 混淆相关
- 启动与关闭Oracle服务的批处理程序
- Linux 上安装与卸载JDK(jdk-1_5_0_22)
- 中国象棋将帅问题
- UIScrollView的属性总结
- java 集合ArrayList及LinkList源码分析
- 字符串与二进制数组相互转化(数据加密原理)
- JVM GC调用过程
- static case 和Dynamic case
- 颠覆常识?!有趣的小玩意
- 变年轻的养颜排毒美食
- 黑马程序员——高新技术