首页 > 代码库 > 将帅问题

将帅问题


#include<cstdio>
#include<iostream>
using namespace std;
struct{
   int a;
   int b;
}i;

int main(){
    /*
    for(int i=1;i<=9;i++)
        for(int j=1;j<=9;j++)
            if(i%3 == j%3)
                cout<<i<<" "<<j<<endl;
                */
     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<<i.a<<" "<<i.b<<endl;
    return 0;
}

注释代码是我写的代码 下面是书上给的最优算法,但是这个算法和作者的本意有点区别,
将帅问题是让算出 将和帅 所有不想对的位置(ps:会象棋的应该都知道什么意思),但是这个最优算法算出的答案是将帅相对的位置 所以我感觉应该是我写的那种
个人问题:
书中定义的结构体 打印出来的东西是乱码
struct{
    unsigned char a:4;
    unsigned char b:4;
}i;
希望大牛们临幸到我的博客时能够帮我解答.



将帅问题