喊啥--RelationMap

写这样一个称呼类的APP,人物称呼之间的关系是最重要的,我查阅了多种资料,加上自己的一些简化,做成了一个RelationMap,共收录了178种称呼和每一种称呼所对应的12中基本关系的称呼,用图论的想法来解决这么一个麻烦的问题,这部分真的是心血,具体上代码。

/**
 * Created by icecreamco on 2016/1/4.
 */
public class RelationMap {
    public static final String[] RELATIONS =
            // 1       2       3         4        5       6       7       8      9      10      11      12
            {"妻子",  "丈夫", "大儿子", "小儿子","大女儿","小女儿", "父亲", "母亲", "哥哥", "弟弟", "姐姐", "妹妹"};
    public static final int RELATIONS_NUM = 12;

    public static final String[] NAMES =
            {       // 1         2         3          4         5          6           7         8           9          10
                    "曾祖父",  "曾祖母",  "伯祖父",  "叔祖父",  "姑奶奶",  "曾伯祖父", "曾叔祖父", "曾姑奶奶", "曾伯祖母", "曾叔祖母",// 0
                    "曾姑爷爷", "伯祖母",   "叔祖母",  "堂伯",   "堂叔",   "堂姑",      "堂伯母",  "堂叔母",  "堂姑父",  "外太爷爷",// 1
                    "外太奶奶","舅爷爷",   "舅奶奶",  "姨奶奶",  "姨爷爷",  "奶奶",       "爷爷",   "伯父",   "叔叔",       "姑妈",// 2
                    "堂妹",    "堂姐",      "堂哥",   "堂弟",   "伯母",   "堂姐夫",      "堂外甥","堂外甥女", "堂妹夫",    "婶婶",// 3
                    "姑父",   "表哥",       "表嫂",   "表侄",   "表侄女",  "表弟",      "表弟媳",  "表姐",    "表姐夫",  "表外甥",// 4
                    "表外甥女","表妹",    "表妹夫",  "父亲",     "母亲",     "外公",    "外婆",   "舅舅",      "舅妈",   "姨妈",// 5
                    "姨夫",   "外曾祖父", "外曾祖母", "外伯祖父","外伯祖母", "外叔祖父", "外叔祖母",  "外姑祖母","外姑祖父","太姥爷",// 6
                    "太姥姥",  "外舅祖父","外舅祖母", "外姨祖母","外姨祖父",   "姐姐",    "姐夫",      "妹妹",    "妹夫",   "外甥女",// 7
                    "外甥女婿","外甥",    "外甥媳",  "姻家父",  "姻家伯父"  ,"姻家伯母","姻家叔父", "姻家叔母", "姻家母",  "姻兄",// 8
                    "姻嫂",   "姻弟",   "姻弟媳",      "姻姐",   "姻姐夫",  "姻妹",   "姻妹夫",      "丈夫",   "婆婆",   "公公",// 9
                    "小叔子","女儿",     "女婿",     "外孙女",    "外孙女婿", "外孙",   "外孙媳",  "儿子",     "儿媳",     "孙子",// 10
                    "孙媳",   "孙女",   "孙女婿",      "妻子",   "岳父",    "岳祖父", "岳祖母",    "岳伯父",    "岳叔父",  "内姑母",// 11
                    "岳伯祖父","岳伯祖母","岳叔祖父", "岳叔祖母",   "岳伯母", "岳叔母",   "内姑父",  "岳母",   "内姨母",  "内姨夫",// 12
                    "内舅父",  "内舅母",  "大舅子",  "大舅嫂",  "小舅子",    "内弟媳",    "姨姐",   "姨姐夫",  "姨妹",   "姨妹夫",// 13
                    "哥哥",   "弟弟",   "嫂嫂",       "弟媳",   "侄儿",      "侄女",    "侄媳",   "侄女婿",  "侄孙女",  "侄孙女婿",// 14
                    "侄孙",   "侄孙媳",  "堂弟媳",   "堂嫂",    "堂侄女",    "堂侄",   "好基友",  "哎呦",   "太远了吧~",  "姑爷爷",   // 15
                    "表伯",   "表叔",   "表姑",     "堂外甥媳","堂外甥女婿",   "自己",   "兄弟姐妹","姻家姑母","姻家姑父",   "亲家公",
                    "亲家母",  "曾外孙",  "曾外孙女", "曾孙",     "曾孙女",    "表伯母",  "表叔母",  "表姑父"
            };
    public static final int NAMES_NUM = 178;

    // 单例
    private static RelationMap relationMap;
    private Context context;

    // 关系图
    private int[][] map = new int[NAMES_NUM + 1][NAMES_NUM + 1];

    /*
     * 私有构造函数
     */
    private RelationMap(Context c) {
        context = c;
        // 1 曾祖父
        map[1][2] = 1;  map[1][157] = 2;    map[1][3] = 3;  map[1][4] = 4; map[1][5] = 5;    map[1][5] = 6;
        map[1][159] = 7;    map[1][159] = 8;    map[1][6] = 9;  map[1][7] = 10; map[1][8] = 11;    map[1][8] = 12;
        // 2 曾祖母
        map[2][158] = 1;    map[2][1] = 2;    map[2][3] = 3;    map[2][4] = 4;    map[2][5] = 5; map[2][5] = 6;
        map[2][159] = 7;    map[2][159] = 8;  map[2][159] = 9;   map[2][159] = 10;  map[2][159] = 11;    map[2][159] = 12;
        // 3 伯祖父
        map[3][12] = 1;    map[3][157] = 2;    map[3][14] = 3;    map[3][15] = 4;    map[3][16] = 5;    map[3][16] = 6;
        map[3][1] = 7;    map[3][2] = 8;    map[3][3] = 9;    map[3][4] = 10;   map[3][5] = 11;    map[3][5] = 12;
        // 4 叔祖父
        map[4][13] = 1;    map[4][157] = 2;    map[4][14] = 3;    map[4][15] = 4;    map[4][16] = 5; map[4][16] = 6;
        map[4][1] = 7;    map[4][2] = 8;    map[4][3] = 9;    map[4][4] = 10;   map[4][5] = 11;    map[4][5] = 12;
        // 5 姑奶奶
        map[5][158] = 1;    map[5][160] = 2;    map[5][161] = 3;    map[5][162] = 4;    map[5][163] = 5;    map[5][163] = 6;
        map[5][1] = 7;    map[5][2] = 8;    map[5][3] = 9;    map[5][4] = 10;   map[5][5] = 11;    map[5][5] = 12;
        // 6 曾伯祖父
        map[6][9] = 1;    map[6][157] = 2;    map[6][3] = 3;    map[6][4] = 4;    map[6][5] = 5;    map[6][5] = 6;
        map[6][159] = 7;    map[6][159] = 8;    map[6][6] = 9;    map[6][7] = 10;   map[6][8] = 11;    map[6][8] = 12;
        // 7 曾叔祖父
        map[7][10] = 1;    map[7][157] = 2;    map[7][3] = 3;    map[7][4] = 4;    map[7][5] = 5;  map[7][5] = 6;
        map[7][159] = 7;    map[7][159] = 8;    map[7][6] = 9;    map[7][7] = 10;  map[7][8] = 11;    map[7][8] = 12;
        // 8 曾姑奶奶
        map[8][158] = 1;    map[8][11] = 2;    map[8][3] = 3;    map[8][4] = 4;    map[8][5] = 5;    map[8][5] = 6;
        map[8][159] = 7;    map[8][159] = 8;    map[8][6] = 9;    map[8][7] = 10; map[8][8] = 11;    map[8][8] = 12;
        // 9 曾伯祖母
        map[9][158] = 1;    map[9][6] = 2;    map[9][3] = 3;    map[9][4] = 4;    map[9][5] = 5;   map[9][5] = 6;
        map[9][159] = 7;    map[9][159] = 8;    map[9][159] = 9;    map[9][159] = 10;   map[9][159] = 11;    map[9][159] = 12;
        // 10 曾叔祖母
        map[10][158] = 1;    map[10][7] = 2;    map[10][3] = 3;    map[10][4] = 4;    map[10][5] = 5;  map[10][5] = 6;
        map[10][159] = 7;    map[10][159] = 8;    map[10][159] = 9;    map[10][159] = 10;  map[10][159] = 11;    map[10][159] = 12;
        // 11 曾姑爷爷
        map[11][8] = 1;    map[11][157] = 2;    map[11][3] = 3;    map[11][4] = 4;    map[11][5] = 5;  map[11][5] = 6;
        map[11][159] = 7;    map[11][159] = 8;    map[11][159] = 9;    map[11][159] = 10;  map[11][159] = 11;    map[11][159] = 12;
        // 12 伯祖母
        map[12][158] = 1;    map[12][3] = 2;    map[12][14] = 3;    map[12][15] = 4;    map[12][16] = 5;  map[12][16] = 6;
        map[12][159] = 7;    map[12][159] = 8;    map[12][159] = 9;    map[12][159] = 10;   map[12][159] = 11;    map[12][159] = 12;
        // 13 叔祖母
        map[13][158] = 1;    map[13][4] = 2;    map[13][14] = 3;    map[13][15] = 4;    map[13][16] = 5;    map[13][16] = 6;
        map[13][159] = 7;    map[13][159] = 8;    map[13][159] = 9;    map[13][159] = 10;   map[13][159] = 11;    map[13][159] = 12;
        // 14 堂伯
        map[14][17] = 1;    map[14][157] = 2;    map[14][33] = 3;    map[14][34] = 4;    map[14][32] = 5;    map[14][31] = 6;
        map[14][3] = 7;    map[14][12] = 8;    map[14][14] = 9;    map[14][15] = 10;   map[14][16] = 11;    map[14][16] = 12;
        // 15 堂叔
        map[15][18] = 1;    map[15][157] = 2;    map[15][33] = 3;    map[15][34] = 4;    map[15][32] = 5;    map[15][31] = 6;
        map[15][3] = 7;    map[15][12] = 8;    map[15][14] = 9;    map[15][15] = 10;   map[15][16] = 11;    map[15][16] = 12;
        // 16 堂姑
        map[16][158] = 1;    map[16][19] = 2;    map[16][42] = 3;    map[16][46] = 4;    map[16][48] = 5;    map[16][52] = 6;
        map[16][3] = 7;    map[16][12] = 8;    map[16][14] = 9;    map[16][15] = 10;   map[16][16] = 11;    map[16][16] = 12;
        // 17 堂伯母
        map[17][158] = 1;    map[17][14] = 2;    map[17][33] = 3;    map[17][34] = 4;    map[17][32] = 5;    map[17][31] = 6;
        map[17][159] = 7;    map[17][159] = 8;    map[17][159] = 9;    map[17][159] = 10;   map[17][159] = 11;    map[17][159] = 12;
        // 18 堂叔母
        map[18][158] = 1;    map[18][15] = 2;    map[18][33] = 3;    map[18][34] = 4;    map[18][32] = 5;    map[18][31] = 6;
        map[18][159] = 7;    map[18][159] = 8;    map[18][159] = 9;    map[18][159] = 10;   map[18][159] = 11;    map[18][159] = 12;
        // 19 堂姑父
        map[19][16] = 1;    map[19][157] = 2;    map[19][42] = 3;    map[19][46] = 4;    map[19][48] = 5;    map[19][52] = 6;
        map[19][159] = 7;    map[19][159] = 8;    map[19][159] = 9;    map[19][159] = 10;   map[19][159] = 11;    map[19][159] = 12;
        // 20 外太爷爷
        map[20][21] = 1;    map[20][157] = 2;    map[20][22] = 3;    map[20][22] = 4;    map[20][24] = 5;    map[20][24] = 6;
        map[20][159] = 7;    map[20][159] = 8;    map[20][159] = 9;    map[20][159] = 10;   map[20][159] = 11;    map[20][159] = 12;
        // 21 外太奶奶
        map[21][158] = 1;    map[21][20] = 2;    map[21][22] = 3;    map[21][22] = 4;    map[21][24] = 5;    map[21][24] = 6;
        map[21][159] = 7;    map[21][159] = 8;    map[21][159] = 9;    map[21][159] = 10;   map[21][159] = 11;    map[21][159] = 12;
        // 22 舅爷爷
        map[22][23] = 1;    map[22][157] = 2;    map[22][161] = 3;    map[22][162] = 4;    map[22][163] = 5;    map[22][163] = 6;
        map[22][20] = 7;    map[22][21] = 8;    map[22][22] = 9;    map[22][22] = 10;   map[22][24] = 11;    map[22][24] = 12;
        // 23 舅奶奶
        map[23][158] = 1;    map[23][22] = 2;    map[23][161] = 3;    map[23][162] = 4;    map[23][163] = 5;    map[23][163] = 6;
        map[23][159] = 7;    map[23][159] = 8;    map[23][159] = 9;    map[23][159] = 10;   map[23][159] = 11;    map[23][159] = 12;
        // 24 姨奶奶
        map[24][158] = 1;    map[24][25] = 2;    map[24][161] = 3;    map[24][162] = 4;    map[24][163] = 5;    map[24][163] = 6;
        map[24][20] = 7;    map[24][21] = 8;    map[24][22] = 9;    map[24][22] = 10;   map[24][24] = 11;    map[24][24] = 12;
        // 25 姨爷爷
        map[25][24] = 1;    map[25][157] = 2;    map[25][161] = 3;    map[25][162] = 4;    map[25][163] = 5;    map[25][163] = 6;
        map[25][159] = 7;    map[25][159] = 8;    map[25][159] = 9;    map[25][159] = 10;   map[25][159] = 11;    map[25][159] = 12;
        // 26 奶奶
        map[26][158] = 1;    map[26][27] = 2;    map[26][28] = 3;    map[26][29] = 4;    map[26][30] = 5;    map[26][30] = 6;
        map[26][20] = 7;    map[26][21] = 8;    map[26][22] = 9;    map[26][22] = 10;   map[26][24] = 11;    map[26][24] = 12;
        // 27 爷爷
        map[27][26] = 1;    map[27][157] = 2;    map[27][28] = 3;    map[27][29] = 4;    map[27][30] = 5;    map[27][30] = 6;
        map[27][1] = 7;    map[27][2] = 8;    map[27][3] = 9;    map[27][4] = 10;   map[27][5] = 11;    map[27][5] = 12;
        // 28 伯父
        map[28][35] = 1;    map[28][157] = 2;    map[28][33] = 3;    map[28][34] = 4;    map[28][32] = 5;    map[28][31] = 6;
        map[28][27] = 7;    map[28][26] = 8;    map[28][28] = 9;    map[28][29] = 10;   map[28][30] = 11;    map[28][30] = 12;
        // 29 叔叔
        map[29][40] = 1;    map[29][157] = 2;    map[29][33] = 3;    map[29][34] = 4;    map[29][32] = 5;    map[29][31] = 6;
        map[29][27] = 7;    map[29][26] = 8;    map[29][28] = 9;    map[29][29] = 10;   map[29][30] = 11;    map[29][30] = 12;
        // 30 姑妈
        map[30][158] = 1;    map[30][41] = 2;    map[30][42] = 3;    map[30][46] = 4;    map[30][48] = 5;    map[30][52] = 6;
        map[30][27] = 7;    map[30][26] = 8;    map[30][28] = 9;    map[30][29] = 10;   map[30][30] = 11;    map[30][30] = 12;
        // 31 堂妹
        map[31][158] = 1;    map[31][39] = 2;    map[31][37] = 3;    map[31][37] = 4;    map[31][38] = 5;    map[31][38] = 6;
        map[31][28] = 7;    map[31][35] = 8;    map[31][33] = 9;    map[31][34] = 10;   map[31][32] = 11;    map[31][31] = 12;
        // 32 堂姐
        map[32][158] = 1;    map[32][36] = 2;    map[32][37] = 3;    map[32][37] = 4;    map[32][38] = 5;    map[32][38] = 6;
        map[32][28] = 7;    map[32][35] = 8;    map[32][33] = 9;    map[32][34] = 10;   map[32][32] = 11;    map[32][31] = 12;
        // 33 堂哥
        map[33][54] = 1;    map[33][157] = 2;    map[33][156] = 3;    map[33][156] = 4;    map[33][155] = 5;    map[33][155] = 6;
        map[33][28] = 7;    map[33][35] = 8;    map[33][33] = 9;    map[33][34] = 10;   map[33][32] = 11;    map[33][31] = 12;
        // 34 堂弟
        map[34][153] = 1;    map[34][157] = 2;    map[34][156] = 3;    map[34][156] = 4;    map[34][155] = 5;    map[34][155] = 6;
        map[34][28] = 7;    map[34][35] = 8;    map[34][33] = 9;    map[34][34] = 10;   map[34][32] = 11;    map[34][31] = 12;
        // 35 伯母
        map[35][158] = 1;    map[35][28] = 2;    map[35][33] = 3;    map[35][34] = 4;    map[35][32] = 5;    map[35][31] = 6;
        map[35][159] = 7;    map[35][159] = 8;    map[35][159] = 9;    map[35][159] = 10;   map[35][159] = 11;    map[35][159] = 12;
        // 36 堂姐夫
        map[36][32] = 1;    map[36][157] = 2;    map[36][37] = 3;    map[36][37] = 4;    map[36][38] = 5;    map[36][38] = 6;
        map[36][159] = 7;    map[36][159] = 8;    map[36][159] = 9;    map[36][159] = 10;   map[36][159] = 11;    map[36][159] = 12;
        // 37 堂外甥
        map[37][164] = 1;    map[37][157] = 2;    map[37][159] = 3;    map[37][159] = 4;    map[37][159] = 5;    map[37][159] = 6;
        map[37][36] = 7;    map[37][32] = 8;    map[37][37] = 9;    map[37][37] = 10;   map[37][38] = 11;    map[37][38] = 12;
        // 38 堂外甥女
        map[38][158] = 1;    map[38][165] = 2;    map[38][159] = 3;    map[38][159] = 4;    map[38][159] = 5;    map[38][159] = 6;
        map[38][36] = 7;    map[38][32] = 8;    map[38][37] = 9;    map[38][37] = 10;   map[38][38] = 11;    map[38][38] = 12;
        // 39 堂妹夫
        map[39][31] = 1;    map[39][157] = 2;    map[39][37] = 3;    map[39][37] = 4;    map[39][38] = 5;    map[39][38] = 6;
        map[39][159] = 7;    map[39][159] = 8;    map[39][159] = 9;    map[39][159] = 10;   map[39][159] = 11;    map[39][159] = 12;
        // 40 婶婶
        map[40][158] = 1;    map[40][29] = 2;    map[40][33] = 3;    map[40][34] = 4;    map[40][32] = 5;    map[40][31] = 6;
        map[40][56] = 7;    map[40][57] = 8;    map[40][58] = 9;    map[40][58] = 10;   map[40][60] = 11;    map[40][60] = 12;
        // 41 姑爷
        map[41][30] = 1;    map[41][157] = 2;    map[41][42] = 3;    map[41][46] = 4;    map[41][48] = 5;    map[41][52] = 6;
        map[41][159] = 7;    map[41][159] = 8;    map[41][159] = 9;    map[41][159] = 10;   map[41][159] = 11;    map[41][159] = 12;
        // 42 表哥
        map[42][53] = 1;    map[42][157] = 2;    map[42][44] = 3;    map[42][44] = 4;    map[42][45] = 5;    map[42][45] = 6;
        map[42][41] = 7;    map[42][30] = 8;    map[42][42] = 9;    map[42][46] = 10;   map[42][48] = 11;    map[42][52] = 12;
        // 43 表嫂
        map[43][158] = 1;    map[43][42] = 2;    map[43][44] = 3;    map[43][44] = 4;    map[43][45] = 5;    map[43][45] = 6;
        map[43][159] = 7;    map[43][159] = 8;    map[43][159] = 9;    map[43][159] = 10;   map[43][159] = 11;    map[43][159] = 12;
        // 44 表侄
        map[44][159] = 1;    map[44][157] = 2;    map[44][159] = 3;    map[44][159] = 4;    map[44][159] = 5;    map[44][159] = 6;
        map[44][42] = 7;    map[44][43] = 8;    map[44][44] = 9;    map[44][44] = 10;   map[44][45] = 11;    map[44][45] = 12;
        // 45 表侄女
        map[45][158] = 1;    map[45][159] = 2;    map[45][159] = 3;    map[45][159] = 4;    map[45][159] = 5;    map[45][159] = 6;
        map[45][42] = 7;    map[45][43] = 8;    map[45][44] = 9;    map[45][44] = 10;   map[45][45] = 11;    map[45][45] = 12;
        // 46 表弟
        map[46][47] = 1;    map[46][157] = 2;    map[46][44] = 3;    map[46][44] = 4;    map[46][45] = 5;    map[46][45] = 6;
        map[46][41] = 7;    map[46][30] = 8;    map[46][42] = 9;    map[46][46] = 10;   map[46][48] = 11;    map[46][52] = 12;
        // 47 表弟媳
        map[47][158] = 1;    map[47][46] = 2;    map[47][44] = 3;    map[47][44] = 4;    map[47][45] = 5;    map[47][45] = 6;
        map[47][159] = 7;    map[47][159] = 8;    map[47][159] = 9;    map[47][159] = 10;   map[47][159] = 11;    map[47][159] = 12;
        // 48 表姐
        map[48][158] = 1;    map[48][49] = 2;    map[48][50] = 3;    map[48][50] = 4;    map[48][51] = 5;    map[48][51] = 6;
        map[48][41] = 7;    map[48][30] = 8;    map[48][42] = 9;    map[48][46] = 10;   map[48][48] = 11;    map[48][52] = 12;
        // 49 表姐夫
        map[49][48] = 1;    map[49][157] = 2;    map[49][50] = 3;    map[49][50] = 4;    map[49][51] = 5;    map[49][51] = 6;
        map[49][159] = 7;    map[49][159] = 8;    map[49][159] = 9;    map[49][159] = 10;   map[49][159] = 11;    map[49][159] = 12;
        // 50 表外甥
        map[50][159] = 1;    map[50][157] = 2;    map[50][159] = 3;    map[50][159] = 4;    map[50][159] = 5;    map[50][159] = 6;
        map[50][49] = 7;    map[50][48] = 8;    map[50][50] = 9;    map[50][50] = 10;   map[50][51] = 11;    map[50][51] = 12;
        // 51 表外甥女
        map[51][158] = 1;    map[51][159] = 2;    map[51][159] = 3;    map[51][159] = 4;    map[51][159] = 5;    map[51][159] = 6;
        map[51][49] = 7;    map[51][48] = 8;    map[51][50] = 9;    map[51][50] = 10;   map[51][51] = 11;    map[51][51] = 12;
        // 52 表妹
        map[52][158] = 1;    map[52][53] = 2;    map[52][50] = 3;    map[52][50] = 4;    map[52][51] = 5;    map[52][51] = 6;
        map[52][41] = 7;    map[52][40] = 8;    map[52][42] = 9;    map[52][46] = 10;   map[52][48] = 11;    map[52][52] = 12;
        // 53 表妹夫
        map[53][52] = 1;    map[53][157] = 2;    map[53][50] = 3;    map[53][50] = 4;    map[53][51] = 5;    map[53][51] = 6;
        map[53][159] = 7;    map[53][159] = 8;    map[53][42] = 9;    map[53][46] = 10;   map[53][48] = 11;    map[53][52] = 12;
        // 54 父亲
        map[54][55] = 1;    map[54][157] = 2;    map[54][141] = 3;    map[54][142] = 4;    map[54][76] = 5;    map[54][78] = 6;
        map[54][27] = 7;    map[54][26] = 8;    map[54][28] = 9;    map[54][29] = 10;   map[54][30] = 11;    map[54][30] = 12;
        // 55 母亲
        map[55][158] = 1;    map[55][54] = 2;    map[55][141] = 3;    map[55][142] = 4;    map[55][76] = 5;    map[55][78] = 6;
        map[55][56] = 7;    map[55][57] = 8;    map[55][58] = 9;    map[55][58] = 10;   map[55][60] = 11;    map[55][60] = 12;
        // 56 外公
        map[56][57] = 1;    map[56][157] = 2;    map[56][58] = 3;    map[56][58] = 4;    map[56][60] = 5;    map[56][60] = 6;
        map[56][62] = 7;    map[56][63] = 8;    map[56][64] = 9;    map[56][66] = 10;   map[56][68] = 11;    map[56][68] = 12;
        // 57 外婆
        map[57][158] = 1;    map[57][56] = 2;    map[57][58] = 3;    map[57][58] = 4;    map[57][60] = 5;    map[57][60] = 6;
        map[57][70] = 7;    map[57][71] = 8;    map[57][72] = 9;    map[57][72] = 10;   map[57][74] = 11;    map[57][74] = 12;
        // 58 舅舅
        map[58][59] = 1;    map[58][157] = 2;    map[58][42] = 3;    map[58][46] = 4;    map[58][48] = 5;    map[58][52] = 6;
        map[58][56] = 7;    map[58][57] = 8;    map[58][58] = 9;    map[58][58] = 10;   map[58][60] = 11;    map[58][60] = 12;
        // 59 舅妈
        map[59][158] = 1;    map[59][58] = 2;    map[59][42] = 3;    map[59][46] = 4;    map[59][48] = 5;    map[59][52] = 6;
        map[59][159] = 7;    map[59][159] = 8;    map[59][159] = 9;    map[59][159] = 10;   map[59][159] = 11;    map[59][159] = 12;
        // 60 姨妈
        map[60][158] = 1;    map[60][61] = 2;    map[60][42] = 3;    map[60][46] = 4;    map[60][48] = 5;    map[60][52] = 6;
        map[60][56] = 7;    map[60][57] = 8;    map[60][58] = 9;    map[60][58] = 10;   map[60][60] = 11;    map[60][60] = 12;
        // 61 姨夫
        map[61][60] = 1;    map[61][157] = 2;    map[61][42] = 3;    map[61][46] = 4;    map[61][48] = 5;    map[61][52] = 6;
        map[61][159] = 7;    map[61][159] = 8;    map[61][159] = 9;    map[61][159] = 10;   map[61][159] = 11;    map[61][159] = 12;
        // 62 外曾祖父
        map[62][63] = 1;    map[62][157] = 2;    map[62][64] = 3;    map[62][66] = 4;    map[62][68] = 5;    map[62][68] = 6;
        map[62][159] = 7;    map[62][159] = 8;    map[62][159] = 9;    map[62][159] = 10;   map[62][159] = 11;    map[62][159] = 12;
        // 63 外曾祖母
        map[63][158] = 1;    map[63][62] = 2;    map[63][64] = 3;    map[63][66] = 4;    map[63][68] = 5;    map[63][68] = 6;
        map[63][159] = 7;    map[63][159] = 8;    map[63][159] = 9;    map[63][159] = 10;   map[63][159] = 11;    map[63][159] = 12;
        // 64 外伯祖父
        map[64][65] = 1;    map[64][157] = 2;    map[64][58] = 3;    map[64][58] = 4;    map[64][60] = 5;    map[64][60] = 6;
        map[64][62] = 7;    map[64][63] = 8;    map[64][64] = 9;    map[64][66] = 10;   map[64][68] = 11;    map[64][68] = 12;
        // 65 外伯祖母
        map[65][158] = 1;    map[65][64] = 2;    map[65][58] = 3;    map[65][58] = 4;    map[65][60] = 5;    map[65][60] = 6;
        map[65][159] = 7;    map[65][159] = 8;    map[65][159] = 9;    map[65][159] = 10;   map[65][159] = 11;    map[65][159] = 12;
        // 66 外叔祖父
        map[66][67] = 1;    map[66][157] = 2;    map[66][58] = 3;    map[66][58] = 4;    map[66][60] = 5;    map[66][60] = 6;
        map[66][62] = 7;    map[66][63] = 8;    map[66][64] = 9;    map[66][66] = 10;   map[66][68] = 11;    map[66][68] = 12;
        // 67 外叔祖母
        map[67][158] = 1;    map[67][66] = 2;    map[67][58] = 3;    map[67][58] = 4;    map[67][60] = 5;    map[67][60] = 6;
        map[67][159] = 7;    map[67][159] = 8;    map[67][159] = 9;    map[67][159] = 10;   map[67][159] = 11;    map[67][159] = 12;
        // 68 外姑祖母
        map[68][158] = 1;    map[68][69] = 2;    map[68][58] = 3;    map[68][58] = 4;    map[68][60] = 5;    map[68][60] = 6;
        map[68][62] = 7;    map[68][63] = 8;    map[68][64] = 9;    map[68][66] = 10;   map[68][68] = 11;    map[68][68] = 12;
        // 69 外姑祖父
        map[69][68] = 1;    map[69][157] = 2;    map[69][58] = 3;    map[69][58] = 4;    map[69][60] = 5;    map[69][60] = 6;
        map[69][159] = 7;    map[69][159] = 8;    map[69][159] = 9;    map[69][159] = 10;   map[69][159] = 11;    map[69][159] = 12;
        // 70 太姥爷
        map[70][71] = 1;    map[70][157] = 2;    map[70][72] = 3;    map[70][72] = 4;    map[70][74] = 5;    map[70][74] = 6;
        map[70][159] = 7;    map[70][159] = 8;    map[70][159] = 9;    map[70][159] = 10;   map[70][159] = 11;    map[70][159] = 12;
        // 71 太姥姥
        map[71][158] = 1;    map[71][70] = 2;    map[71][72] = 3;    map[71][72] = 4;    map[71][74] = 5;    map[71][74] = 6;
        map[71][159] = 7;    map[71][159] = 8;    map[71][159] = 9;    map[71][159] = 10;   map[71][159] = 11;    map[71][159] = 12;
        // 72 外舅祖父
        map[72][73] = 1;    map[72][157] = 2;    map[72][159] = 3;    map[72][159] = 4;    map[72][159] = 5;    map[72][159] = 6;
        map[72][70] = 7;    map[72][71] = 8;    map[72][72] = 9;    map[72][72] = 10;   map[72][74] = 11;    map[72][74] = 12;
        // 73 外舅祖母
        map[73][158] = 1;    map[73][72] = 2;    map[73][159] = 3;    map[73][159] = 4;    map[73][159] = 5;    map[73][159] = 6;
        map[73][159] = 7;    map[73][159] = 8;    map[73][159] = 9;    map[73][159] = 10;   map[73][159] = 11;    map[73][159] = 12;
        // 74 外姨祖母
        map[74][158] = 1;    map[74][75] = 2;    map[74][159] = 3;    map[74][159] = 4;    map[74][159] = 5;    map[74][159] = 6;
        map[74][70] = 7;    map[74][71] = 8;    map[74][72] = 9;    map[74][72] = 10;   map[74][74] = 11;    map[74][74] = 12;
        // 75 外姨祖父
        map[75][74] = 1;    map[75][157] = 2;    map[75][159] = 3;    map[75][159] = 4;    map[75][159] = 5;    map[75][159] = 6;
        map[75][159] = 7;    map[75][159] = 8;    map[75][159] = 9;    map[75][159] = 10;   map[75][159] = 11;    map[75][159] = 12;
        // 76 姐姐
        map[76][158] = 1;    map[76][77] = 2;    map[76][82] = 3;    map[76][82] = 4;    map[76][80] = 5;    map[76][80] = 6;
        map[76][54] = 7;    map[76][55] = 8;    map[76][141] = 9;    map[76][142] = 10;   map[76][76] = 11;    map[76][78] = 12;
        // 77 姐夫
        map[77][76] = 1;    map[77][157] = 2;    map[77][82] = 3;    map[77][82] = 4;    map[77][80] = 5;    map[77][80] = 6;
        map[77][84] = 7;    map[77][89] = 8;    map[77][90] = 9;    map[77][92] = 10;   map[77][94] = 11;    map[77][96] = 12;
        // 78 妹妹
        map[78][158] = 1;    map[78][79] = 2;    map[78][82] = 3;    map[78][82] = 4;    map[78][80] = 5;    map[78][80] = 6;
        map[78][54] = 7;    map[78][55] = 8;    map[78][141] = 9;    map[78][142] = 10;   map[78][76] = 11;    map[78][78] = 12;
        // 79 妹夫
        map[79][78] = 1;    map[79][157] = 2;    map[79][82] = 3;    map[79][82] = 4;    map[79][80] = 5;    map[79][80] = 6;
        map[79][84] = 7;    map[79][89] = 8;    map[79][90] = 9;    map[79][92] = 10;   map[79][94] = 11;    map[79][96] = 12;
        // 80 外甥女
        map[80][158] = 1;    map[80][81] = 2;    map[80][159] = 3;    map[80][159] = 4;    map[80][159] = 5;    map[80][159] = 6;
        map[80][77] = 7;    map[80][76] = 8;    map[80][82] = 9;    map[80][82] = 10;   map[80][80] = 11;    map[80][80] = 12;
        // 81 外甥女婿
        map[81][80] = 1;    map[81][157] = 2;    map[81][159] = 3;    map[81][159] = 4;    map[81][159] = 5;    map[81][159] = 6;
        map[81][159] = 7;    map[81][159] = 8;    map[81][159] = 9;    map[81][159] = 10;   map[81][159] = 11;    map[81][159] = 12;
        // 82 外甥
        map[82][83] = 1;    map[82][157] = 2;    map[82][159] = 3;    map[82][159] = 4;    map[82][159] = 5;    map[82][159] = 6;
        map[82][77] = 7;    map[82][76] = 8;    map[82][82] = 9;    map[82][82] = 10;   map[82][80] = 11;    map[82][80] = 12;
        // 83 外甥媳
        map[83][158] = 1;    map[83][82] = 2;    map[83][159] = 3;    map[83][159] = 4;    map[83][159] = 5;    map[83][159] = 6;
        map[83][159] = 7;    map[83][159] = 8;    map[83][159] = 9;    map[83][159] = 10;   map[83][159] = 11;    map[83][159] = 12;
        // 84 姻家父
        map[84][89] = 1;    map[84][157] = 2;    map[84][90] = 3;    map[84][92] = 4;    map[84][94] = 5;    map[84][96] = 6;
        map[84][159] = 7;    map[84][159] = 8;    map[84][85] = 9;    map[84][87] = 10;   map[84][168] = 11;    map[84][168] = 12;
        // 85 姻家伯父
        map[85][86] = 1;    map[85][157] = 2;    map[85][159] = 3;    map[85][159] = 4;    map[85][159] = 5;    map[85][159] = 6;
        map[85][159] = 7;    map[85][159] = 8;    map[85][85] = 9;    map[85][87] = 10;   map[85][168] = 11;    map[85][168] = 12;
        // 86 姻家伯母
        map[86][158] = 1;    map[86][85] = 2;    map[86][159] = 3;    map[86][159] = 4;    map[86][159] = 5;    map[86][159] = 6;
        map[86][159] = 7;    map[86][159] = 8;    map[86][159] = 9;    map[86][159] = 10;   map[86][159] = 11;    map[86][159] = 12;
        // 87 姻家叔父
        map[87][88] = 1;    map[87][157] = 2;    map[87][159] = 3;    map[87][159] = 4;    map[87][159] = 5;    map[87][159] = 6;
        map[87][159] = 7;    map[87][159] = 8;    map[87][85] = 9;    map[87][87] = 10;   map[87][168] = 11;    map[87][168] = 12;
        // 88 姻家叔母
        map[88][158] = 1;    map[88][87] = 2;    map[88][159] = 3;    map[88][159] = 4;    map[88][159] = 5;    map[88][159] = 6;
        map[88][159] = 7;    map[88][159] = 8;    map[88][159] = 9;    map[88][159] = 10;   map[88][159] = 11;    map[88][159] = 12;
        // 89 姻家母
        map[89][158] = 1;    map[89][84] = 2;    map[89][90] = 3;    map[89][92] = 4;    map[89][94] = 5;    map[89][96] = 6;
        map[89][159] = 7;    map[89][159] = 8;    map[89][159] = 9;    map[89][159] = 10;   map[89][159] = 11;    map[89][159] = 12;
        // 90 姻兄
        map[90][91] = 1;    map[90][157] = 2;    map[90][159] = 3;    map[90][159] = 4;    map[90][159] = 5;    map[90][159] = 6;
        map[90][84] = 7;    map[90][89] = 8;    map[90][90] = 9;    map[90][92] = 10;   map[90][94] = 11;    map[90][96] = 12;
        // 91 姻嫂
        map[91][158] = 1;    map[91][90] = 2;    map[91][159] = 3;    map[91][159] = 4;    map[91][159] = 5;    map[91][159] = 6;
        map[91][159] = 7;    map[91][159] = 8;    map[91][159] = 9;    map[91][159] = 10;   map[91][159] = 11;    map[91][159] = 12;
        // 92 姻弟
        map[92][93] = 1;    map[92][157] = 2;    map[92][159] = 3;    map[92][159] = 4;    map[92][159] = 5;    map[92][159] = 6;
        map[92][84] = 7;    map[92][89] = 8;    map[92][90] = 9;    map[92][92] = 10;   map[92][94] = 11;    map[92][96] = 12;
        // 93 姻弟媳
        map[93][158] = 1;    map[93][92] = 2;    map[93][159] = 3;    map[93][159] = 4;    map[93][159] = 5;    map[93][159] = 6;
        map[93][159] = 7;    map[93][159] = 8;    map[93][159] = 9;    map[93][159] = 10;   map[93][159] = 11;    map[93][159] = 12;
        // 94 姻姐
        map[94][158] = 1;    map[94][95] = 2;    map[94][159] = 3;    map[94][159] = 4;    map[94][159] = 5;    map[94][159] = 6;
        map[94][84] = 7;    map[94][89] = 8;    map[94][90] = 9;    map[94][92] = 10;   map[94][94] = 11;    map[94][96] = 12;
        // 95 姻姐夫
        map[95][94] = 1;    map[95][157] = 2;    map[95][159] = 3;    map[95][159] = 4;    map[95][159] = 5;    map[95][159] = 6;
        map[95][159] = 7;    map[95][159] = 8;    map[95][159] = 9;    map[95][159] = 10;   map[95][159] = 11;    map[95][159] = 12;
        // 96 姻妹
        map[96][158] = 1;    map[96][97] = 2;    map[96][159] = 3;    map[96][159] = 4;    map[96][159] = 5;    map[96][159] = 6;
        map[96][84] = 7;    map[96][89] = 8;    map[96][90] = 9;    map[96][92] = 10;   map[96][94] = 11;    map[96][96] = 12;
        // 97 姻妹夫
        map[97][96] = 1;    map[97][157] = 2;    map[97][159] = 3;    map[97][159] = 4;    map[97][159] = 5;    map[97][159] = 6;
        map[97][159] = 7;    map[97][159] = 8;    map[97][159] = 9;    map[97][159] = 10;   map[97][159] = 11;    map[97][159] = 12;
        // 98 丈夫
        map[98][166] = 1;    map[98][157] = 2;    map[98][108] = 3;    map[98][108] = 4;    map[98][102] = 5;    map[98][102] = 6;
        map[98][100] = 7;    map[98][99] = 8;    map[98][141] = 9;    map[98][101] = 10;   map[98][76] = 11;    map[98][78] = 12;
        // 99 婆婆
        map[99][158] = 1;    map[99][100] = 2;    map[99][141] = 3;    map[99][101] = 4;    map[99][76] = 5;    map[99][78] = 6;
        map[99][56] = 7;    map[99][57] = 8;    map[99][58] = 9;    map[99][58] = 10;   map[99][60] = 11;    map[99][60] = 12;
        // 100 公公
        map[100][99] = 1;    map[100][157] = 2;    map[100][141] = 3;    map[100][101] = 4;    map[100][76] = 5;    map[100][78] = 6;
        map[100][27] = 7;    map[100][26] = 8;    map[100][28] = 9;    map[100][29] = 10;   map[100][30] = 11;    map[100][30] = 12;
        // 101 小叔子
        map[101][144] = 1;    map[101][157] = 2;    map[101][145] = 3;    map[101][145] = 4;    map[101][146] = 5;    map[101][146] = 6;
        map[101][100] = 7;    map[101][99] = 8;    map[101][141] = 9;    map[101][101] = 10;   map[101][76] = 11;    map[101][78] = 12;
        // 102 女儿
        map[102][158] = 1;    map[102][103] = 2;    map[102][106] = 3;    map[102][106] = 4;    map[102][104] = 5;    map[102][104] = 6;
        map[102][98] = 7;    map[102][114] = 8;    map[102][108] = 9;    map[102][108] = 10;   map[102][102] = 11;    map[102][102] = 12;
        // 103 女婿
        map[103][102] = 1;    map[103][157] = 2;    map[103][106] = 3;    map[103][106] = 4;    map[103][104] = 5;    map[103][104] = 6;
        map[103][170] = 7;    map[103][171] = 8;    map[103][159] = 9;    map[103][159] = 10;   map[103][159] = 11;    map[103][159] = 12;
        // 104 外孙女
        map[104][158] = 1;    map[104][105] = 2;    map[104][172] = 3;    map[104][172] = 4;    map[104][173] = 5;    map[104][173] = 6;
        map[104][103] = 7;    map[104][102] = 8;    map[104][106] = 9;    map[104][106] = 10;   map[104][104] = 11;    map[104][104] = 12;
        // 105 外孙女婿
        map[105][104] = 1;    map[105][157] = 2;    map[105][172] = 3;    map[105][172] = 4;    map[105][173] = 5;    map[105][173] = 6;
        map[105][159] = 7;    map[105][159] = 8;    map[105][159] = 9;    map[105][159] = 10;   map[105][159] = 11;    map[105][159] = 12;
        // 106 外孙
        map[106][107] = 1;    map[106][157] = 2;    map[106][172] = 3;    map[106][172] = 4;    map[106][173] = 5;    map[106][173] = 6;
        map[106][103] = 7;    map[106][102] = 8;    map[106][106] = 9;    map[106][106] = 10;   map[106][104] = 11;    map[106][104] = 12;
        // 107 外孙媳
        map[107][158] = 1;    map[107][106] = 2;    map[107][172] = 3;    map[107][172] = 4;    map[107][173] = 5;    map[107][173] = 6;
        map[107][159] = 7;    map[107][159] = 8;    map[107][159] = 9;    map[107][159] = 10;   map[107][159] = 11;    map[107][159] = 12;
        // 108 儿子
        map[108][109] = 1;    map[108][157] = 2;    map[108][110] = 3;    map[108][110] = 4;    map[108][112] = 5;    map[108][112] = 6;
        map[108][98] = 7;    map[108][114] = 8;    map[108][108] = 9;    map[108][108] = 10;   map[108][102] = 11;    map[108][102] = 12;
        // 109 儿媳
        map[109][158] = 1;    map[109][108] = 2;    map[109][110] = 3;    map[109][110] = 4;    map[109][112] = 5;    map[109][112] = 6;
        map[109][170] = 7;    map[109][171] = 8;    map[109][159] = 9;    map[109][159] = 10;   map[109][159] = 11;    map[109][159] = 12;
        // 110 孙子
        map[110][111] = 1;    map[110][157] = 2;    map[110][174] = 3;    map[110][174] = 4;    map[110][175] = 5;    map[110][175] = 6;
        map[110][108] = 7;    map[110][109] = 8;    map[110][110] = 9;    map[110][110] = 10;   map[110][112] = 11;    map[110][112] = 12;
        // 111 孙媳
        map[111][158] = 1;    map[111][110] = 2;    map[111][174] = 3;    map[111][174] = 4;    map[111][175] = 5;    map[111][175] = 6;
        map[111][159] = 7;    map[111][159] = 8;    map[111][159] = 9;    map[111][159] = 10;   map[111][159] = 11;    map[111][159] = 12;
        // 112 孙女
        map[112][158] = 1;    map[112][113] = 2;    map[112][174] = 3;    map[112][174] = 4;    map[112][175] = 5;    map[112][175] = 6;
        map[112][108] = 7;    map[112][109] = 8;    map[112][110] = 9;    map[112][110] = 10;   map[112][112] = 11;    map[112][112] = 12;
        // 113 孙女婿
        map[113][112] = 1;    map[113][157] = 2;    map[113][174] = 3;    map[113][174] = 4;    map[113][175] = 5;    map[113][175] = 6;
        map[113][159] = 7;    map[113][159] = 8;    map[113][159] = 9;    map[113][159] = 10;   map[113][159] = 11;    map[113][159] = 12;
        // 114 妻子
        map[114][158] = 1;    map[114][166] = 2;    map[114][108] = 3;    map[114][108] = 4;    map[114][102] = 5;    map[114][102] = 6;
        map[114][115] = 7;    map[114][128] = 8;    map[114][133] = 9;    map[114][135] = 10;   map[114][137] = 11;    map[114][139] = 12;
        // 115 岳父
        map[115][128] = 1;    map[115][157] = 2;    map[115][133] = 3;    map[115][135] = 4;    map[115][137] = 5;    map[115][139] = 6;
        map[115][116] = 7;    map[115][117] = 8;    map[115][118] = 9;    map[115][119] = 10;   map[115][120] = 11;    map[115][120] = 12;
        // 116 岳祖父
        map[116][117] = 1;    map[116][157] = 2;    map[116][118] = 3;    map[116][119] = 4;    map[116][120] = 5;    map[116][120] = 6;
        map[116][159] = 7;    map[116][159] = 8;    map[116][121] = 9;    map[116][123] = 10;   map[116][159] = 11;    map[116][159] = 12;
        // 117 岳祖母
        map[117][158] = 1;    map[117][116] = 2;    map[117][118] = 3;    map[117][119] = 4;    map[117][120] = 5;    map[117][120] = 6;
        map[117][159] = 7;    map[117][159] = 8;    map[117][159] = 9;    map[117][159] = 10;   map[117][159] = 11;    map[117][159] = 12;
        // 118 岳伯父
        map[118][125] = 1;    map[118][157] = 2;    map[118][159] = 3;    map[118][159] = 4;    map[118][159] = 5;    map[118][159] = 6;
        map[118][116] = 7;    map[118][117] = 8;    map[118][118] = 9;    map[118][119] = 10;   map[118][120] = 11;    map[118][120] = 12;
        // 119 岳叔父
        map[119][126] = 1;    map[119][157] = 2;    map[119][159] = 3;    map[119][159] = 4;    map[119][159] = 5;    map[119][159] = 6;
        map[119][116] = 7;    map[119][117] = 8;    map[119][118] = 9;    map[119][119] = 10;   map[119][120] = 11;    map[119][120] = 12;
        // 120 内姑母
        map[120][158] = 1;    map[120][127] = 2;    map[120][159] = 3;    map[120][159] = 4;    map[120][159] = 5;    map[120][159] = 6;
        map[120][116] = 7;    map[120][117] = 8;    map[120][118] = 9;    map[120][119] = 10;   map[120][120] = 11;    map[120][120] = 12;
        // 121 岳伯祖父
        map[121][123] = 1;    map[121][157] = 2;    map[121][159] = 3;    map[121][159] = 4;    map[121][159] = 5;    map[121][159] = 6;
        map[121][159] = 7;    map[121][159] = 8;    map[121][121] = 9;    map[121][123] = 10;   map[121][159] = 11;    map[121][159] = 12;
        // 122 岳伯祖母
        map[122][158] = 1;    map[122][121] = 2;    map[122][159] = 3;    map[122][159] = 4;    map[122][159] = 5;    map[122][159] = 6;
        map[122][159] = 7;    map[122][159] = 8;    map[122][159] = 9;    map[122][159] = 10;   map[122][159] = 11;    map[122][159] = 12;
        // 123 岳叔祖父
        map[123][124] = 1;    map[123][157] = 2;    map[123][159] = 3;    map[123][159] = 4;    map[123][159] = 5;    map[123][159] = 6;
        map[123][159] = 7;    map[123][159] = 8;    map[123][121] = 9;    map[123][123] = 10;   map[123][159] = 11;    map[123][159] = 12;
        // 124 岳叔祖母
        map[124][158] = 1;    map[124][123] = 2;    map[124][159] = 3;    map[124][159] = 4;    map[124][159] = 5;    map[124][159] = 6;
        map[124][159] = 7;    map[124][159] = 8;    map[124][159] = 9;    map[124][159] = 10;   map[124][159] = 11;    map[124][159] = 12;
        // 125 岳伯母
        map[125][158] = 1;    map[125][118] = 2;    map[125][159] = 3;    map[125][159] = 4;    map[125][159] = 5;    map[125][159] = 6;
        map[125][159] = 7;    map[125][159] = 8;    map[125][159] = 9;    map[125][159] = 10;   map[125][159] = 11;    map[125][159] = 12;
        // 126 岳叔母
        map[126][158] = 1;    map[126][119] = 2;    map[126][159] = 3;    map[126][159] = 4;    map[126][159] = 5;    map[126][159] = 6;
        map[126][159] = 7;    map[126][159] = 8;    map[126][159] = 9;    map[126][159] = 10;   map[126][159] = 11;    map[126][159] = 12;
        // 127 内姑父
        map[127][120] = 1;    map[127][157] = 2;    map[127][159] = 3;    map[127][159] = 4;    map[127][159] = 5;    map[127][159] = 6;
        map[127][159] = 7;    map[127][159] = 8;    map[127][159] = 9;    map[127][159] = 10;   map[127][159] = 11;    map[127][159] = 12;
        // 128 岳母
        map[128][158] = 1;    map[128][115] = 2;    map[128][133] = 3;    map[128][135] = 4;    map[128][137] = 5;    map[128][139] = 6;
        map[128][159] = 7;    map[128][159] = 8;    map[128][131] = 9;    map[128][131] = 10;   map[128][129] = 11;    map[128][129] = 12;
        // 129 内姨母
        map[129][158] = 1;    map[129][130] = 2;    map[129][159] = 3;    map[129][159] = 4;    map[129][159] = 5;    map[129][159] = 6;
        map[129][159] = 7;    map[129][159] = 8;    map[129][131] = 9;    map[129][131] = 10;   map[129][129] = 11;    map[129][129] = 12;
        // 130 内姨夫
        map[130][129] = 1;    map[130][157] = 2;    map[130][159] = 3;    map[130][159] = 4;    map[130][159] = 5;    map[130][159] = 6;
        map[130][159] = 7;    map[130][159] = 8;    map[130][159] = 9;    map[130][159] = 10;   map[130][159] = 11;    map[130][159] = 12;
        // 131 内舅父
        map[131][132] = 1;    map[131][157] = 2;    map[131][159] = 3;    map[131][159] = 4;    map[131][159] = 5;    map[131][159] = 6;
        map[131][159] = 7;    map[131][159] = 8;    map[131][159] = 9;    map[131][159] = 10;   map[131][159] = 11;    map[131][159] = 12;
        // 132 内舅母
        map[132][158] = 1;    map[132][131] = 2;    map[132][159] = 3;    map[132][159] = 4;    map[132][159] = 5;    map[132][159] = 6;
        map[132][159] = 7;    map[132][159] = 8;    map[132][159] = 9;    map[132][159] = 10;   map[132][159] = 11;    map[132][159] = 12;
        // 133 大舅子
        map[133][134] = 1;    map[133][157] = 2;    map[133][145] = 3;    map[133][145] = 4;    map[133][146] = 5;    map[133][146] = 6;
        map[133][115] = 7;    map[133][128] = 8;    map[133][133] = 9;    map[133][135] = 10;   map[133][137] = 11;    map[133][139] = 12;
        // 134 大舅嫂
        map[134][158] = 1;    map[134][133] = 2;    map[134][145] = 3;    map[134][145] = 4;    map[134][146] = 5;    map[134][146] = 6;
        map[134][159] = 7;    map[134][159] = 8;    map[134][159] = 9;    map[134][159] = 10;   map[134][159] = 11;    map[134][159] = 12;
        // 135 小舅子
        map[135][136] = 1;    map[135][157] = 2;    map[135][145] = 3;    map[135][145] = 4;    map[135][146] = 5;    map[135][146] = 6;
        map[135][115] = 7;    map[135][128] = 8;    map[135][133] = 9;    map[135][135] = 10;   map[135][137] = 11;    map[135][139] = 12;
        // 136 内弟媳
        map[136][158] = 1;    map[136][135] = 2;    map[136][145] = 3;    map[136][145] = 4;    map[136][146] = 5;    map[136][146] = 6;
        map[136][159] = 7;    map[136][159] = 8;    map[136][159] = 9;    map[136][159] = 10;   map[136][159] = 11;    map[136][159] = 12;
        // 137 姨姐
        map[137][158] = 1;    map[137][138] = 2;    map[137][82] = 3;    map[137][82] = 4;    map[137][80] = 5;    map[137][80] = 6;
        map[137][115] = 7;    map[137][128] = 8;    map[137][133] = 9;    map[137][135] = 10;   map[137][137] = 11;    map[137][139] = 12;
        // 138 姨姐夫
        map[138][137] = 1;    map[138][157] = 2;    map[138][82] = 3;    map[138][82] = 4;    map[138][80] = 5;    map[138][80] = 6;
        map[138][159] = 7;    map[138][159] = 8;    map[138][159] = 9;    map[138][159] = 10;   map[138][159] = 11;    map[138][159] = 12;
        // 139 姨妹
        map[139][158] = 1;    map[139][140] = 2;    map[139][82] = 3;    map[139][82] = 4;    map[139][80] = 5;    map[139][80] = 6;
        map[139][115] = 7;    map[139][128] = 8;    map[139][133] = 9;    map[139][135] = 10;   map[139][137] = 11;    map[139][139] = 12;
        // 140 姨妹夫
        map[140][139] = 1;    map[140][157] = 2;    map[140][82] = 3;    map[140][82] = 4;    map[140][80] = 5;    map[140][80] = 6;
        map[140][159] = 7;    map[140][159] = 8;    map[140][159] = 9;    map[140][159] = 10;   map[140][159] = 11;    map[140][159] = 12;
        // 141 哥哥
        map[141][143] = 1;    map[141][157] = 2;    map[141][145] = 3;    map[141][145] = 4;    map[141][146] = 5;    map[141][146] = 6;
        map[141][54] = 7;    map[141][55] = 8;    map[141][141] = 9;    map[141][142] = 10;   map[141][76] = 11;    map[141][78] = 12;
        // 142 弟弟
        map[142][144] = 1;    map[142][157] = 2;    map[142][145] = 3;    map[142][145] = 4;    map[142][146] = 5;    map[142][146] = 6;
        map[142][54] = 7;    map[142][55] = 8;    map[142][141] = 9;    map[142][142] = 10;   map[142][76] = 11;    map[142][78] = 12;
        // 143 嫂嫂
        map[143][158] = 1;    map[143][141] = 2;    map[143][145] = 3;    map[143][145] = 4;    map[143][146] = 5;    map[143][146] = 6;
        map[143][84] = 7;    map[143][89] = 8;    map[143][90] = 9;    map[143][92] = 10;   map[143][94] = 11;    map[143][96] = 12;
        // 144 弟媳
        map[144][158] = 1;    map[144][142] = 2;    map[144][145] = 3;    map[144][145] = 4;    map[144][146] = 5;    map[144][146] = 6;
        map[144][84] = 7;    map[144][89] = 8;    map[144][90] = 9;    map[144][92] = 10;   map[144][94] = 11;    map[144][96] = 12;
        // 145 侄儿
        map[145][147] = 1;    map[145][157] = 2;    map[145][151] = 3;    map[145][151] = 4;    map[145][149] = 5;    map[145][149] = 6;
        map[145][141] = 7;    map[145][143] = 8;    map[145][145] = 9;    map[145][145] = 10;   map[145][146] = 11;    map[145][146] = 12;
        // 146 侄女
        map[146][158] = 1;    map[146][148] = 2;    map[146][151] = 3;    map[146][151] = 4;    map[146][149] = 5;    map[146][149] = 6;
        map[146][141] = 7;    map[146][143] = 8;    map[146][145] = 9;    map[146][145] = 10;   map[146][146] = 11;    map[146][146] = 12;
        // 147 侄媳
        map[147][158] = 1;    map[147][145] = 2;    map[147][151] = 3;    map[147][151] = 4;    map[147][149] = 5;    map[147][149] = 6;
        map[147][159] = 7;    map[147][159] = 8;    map[147][159] = 9;    map[147][159] = 10;   map[147][159] = 11;    map[147][159] = 12;
        // 148 侄女婿
        map[148][158] = 1;    map[148][146] = 2;    map[148][151] = 3;    map[148][151] = 4;    map[148][149] = 5;    map[148][149] = 6;
        map[148][159] = 7;    map[148][159] = 8;    map[148][159] = 9;    map[148][159] = 10;   map[148][159] = 11;    map[148][159] = 12;
        // 149 侄孙女
        map[149][158] = 1;    map[149][150] = 2;    map[149][159] = 3;    map[149][159] = 4;    map[149][159] = 5;    map[149][159] = 6;
        map[149][145] = 7;    map[149][147] = 8;    map[149][151] = 9;    map[149][151] = 10;   map[149][149] = 11;    map[149][149] = 12;
        // 150 侄孙女婿
        map[150][149] = 1;    map[150][157] = 2;    map[150][159] = 3;    map[150][159] = 4;    map[150][159] = 5;    map[150][159] = 6;
        map[150][159] = 7;    map[150][159] = 8;    map[150][159] = 9;    map[150][159] = 10;   map[150][159] = 11;    map[150][159] = 12;
        // 151 侄孙
        map[151][152] = 1;    map[151][157] = 2;    map[151][159] = 3;    map[151][159] = 4;    map[151][159] = 5;    map[151][159] = 6;
        map[151][145] = 7;    map[151][147] = 8;    map[151][151] = 9;    map[151][151] = 10;   map[151][149] = 11;    map[151][149] = 12;
        // 152 侄孙媳
        map[152][158] = 1;    map[152][151] = 2;    map[152][159] = 3;    map[152][159] = 4;    map[152][159] = 5;    map[152][159] = 6;
        map[152][159] = 7;    map[152][159] = 8;    map[152][159] = 9;    map[152][159] = 10;   map[152][159] = 11;    map[152][159] = 12;
        // 153 堂弟媳
        map[153][158] = 1;    map[153][34] = 2;    map[153][156] = 3;    map[153][156] = 4;    map[153][155] = 5;    map[153][155] = 6;
        map[153][159] = 7;    map[153][159] = 8;    map[153][159] = 9;    map[153][159] = 10;   map[153][159] = 11;    map[153][159] = 12;
        // 154 堂嫂
        map[154][158] = 1;    map[154][33] = 2;    map[154][156] = 3;    map[154][156] = 4;    map[154][155] = 5;    map[154][155] = 6;
        map[154][159] = 7;    map[154][159] = 8;    map[154][159] = 9;    map[154][159] = 10;   map[154][159] = 11;    map[154][159] = 12;
        // 155 堂侄女
        map[155][158] = 1;    map[155][159] = 2;    map[155][159] = 3;    map[155][159] = 4;    map[155][159] = 5;    map[155][159] = 6;
        map[155][33] = 7;    map[155][154] = 8;    map[155][156] = 9;    map[155][156] = 10;   map[155][155] = 11;    map[155][155] = 12;
        // 156 堂侄
        map[156][159] = 1;    map[156][157] = 2;    map[156][159] = 3;    map[156][159] = 4;    map[156][159] = 5;    map[156][159] = 6;
        map[156][33] = 7;    map[156][154] = 8;    map[156][156] = 9;    map[156][156] = 10;   map[156][155] = 11;    map[156][155] = 12;
        // 157 好基友
        map[157][159] = 1;    map[157][157] = 2;    map[157][108] = 3;    map[157][108] = 4;    map[157][102] = 5;    map[157][102] = 6;
        map[157][54] = 7;    map[157][55] = 8;    map[157][141] = 9;    map[157][142] = 10;   map[157][76] = 11;    map[157][78] = 12;
        // 158 哎呦
        map[158][158] = 1;    map[158][159] = 2;    map[158][108] = 3;    map[158][108] = 4;    map[158][102] = 5;    map[158][102] = 6;
        map[158][54] = 7;    map[158][55] = 8;    map[158][141] = 9;    map[158][142] = 10;   map[158][76] = 11;    map[158][78] = 12;
        // 159 太远了吧
        map[159][159] = 1;    map[159][159] = 2;    map[159][159] = 3;    map[159][159] = 4;    map[159][159] = 5;    map[159][159] = 6;
        map[159][159] = 7;    map[159][159] = 8;    map[159][159] = 9;    map[159][159] = 10;   map[159][159] = 11;    map[159][159] = 12;
        // 160 姑爷爷
        map[160][5] = 1;    map[160][157] = 2;    map[160][161] = 3;    map[160][162] = 4;    map[160][163] = 5;    map[160][163] = 6;
        map[160][159] = 7;    map[160][159] = 8;    map[160][159] = 9;    map[160][159] = 10;   map[160][159] = 11;    map[160][159] = 12;
        // 161 表伯
        map[161][176] = 1;    map[161][157] = 2;    map[161][42] = 3;    map[161][46] = 4;    map[161][48] = 5;    map[161][52] = 6;
        map[161][160] = 7;    map[161][5] = 8;    map[161][161] = 9;    map[161][162] = 10;   map[161][163] = 11;    map[161][163] = 12;
        // 162 表叔
        map[162][177] = 1;    map[162][157] = 2;    map[162][42] = 3;    map[162][46] = 4;    map[162][48] = 5;    map[162][52] = 6;
        map[162][160] = 7;    map[162][5] = 8;    map[162][161] = 9;    map[162][162] = 10;   map[162][163] = 11;    map[162][163] = 12;
        // 163 表姑
        map[163][158] = 1;    map[163][178] = 2;    map[163][42] = 3;    map[163][46] = 4;    map[163][48] = 5;    map[163][52] = 6;
        map[163][160] = 7;    map[163][5] = 8;    map[163][161] = 9;    map[163][162] = 10;   map[163][163] = 11;    map[163][163] = 12;
        // 164 堂外甥媳
        map[164][158] = 1;    map[164][37] = 2;    map[164][159] = 3;    map[164][159] = 4;    map[164][159] = 5;    map[164][159] = 6;
        map[164][159] = 7;    map[164][159] = 8;    map[164][159] = 9;    map[164][159] = 10;   map[164][159] = 11;    map[164][159] = 12;
        // 165 堂外甥女婿
        map[165][38] = 1;    map[165][157] = 2;    map[165][159] = 3;    map[165][159] = 4;    map[165][159] = 5;    map[165][159] = 6;
        map[165][159] = 7;    map[165][159] = 8;    map[165][159] = 9;    map[165][159] = 10;   map[165][159] = 11;    map[165][159] = 12;
        // 166 自己
        map[166][114] = 1;    map[166][98] = 2;    map[166][108] = 3;    map[166][108] = 4;    map[166][102] = 5;    map[166][102] = 6;
        map[166][54] = 7;    map[166][55] = 8;    map[166][141] = 9;    map[166][142] = 10;   map[166][76] = 11;    map[166][78] = 12;
        // 167 兄弟姐妹
//        map[178][] = 1;    map[178][] = 2;    map[178][] = 3;    map[178][] = 4;    map[178][] = 5;    map[178][] = 6;
//        map[178][] = 7;    map[178][] = 8;    map[178][] = 9;    map[178][] = 10;   map[178][] = 11;    map[178][] = 12;
        // 168 姻家姑母
        map[168][158] = 1;    map[168][169] = 2;    map[168][159] = 3;    map[168][159] = 4;    map[168][159] = 5;    map[168][159] = 6;
        map[168][159] = 7;    map[168][159] = 8;    map[168][85] = 9;    map[168][87] = 10;   map[168][168] = 11;    map[168][168] = 12;
        // 169 姻家姑父
        map[169][168] = 1;    map[169][157] = 2;    map[169][159] = 3;    map[169][159] = 4;    map[169][159] = 5;    map[169][159] = 6;
        map[169][159] = 7;    map[169][159] = 8;    map[169][159] = 9;    map[169][159] = 10;   map[169][159] = 11;    map[169][159] = 12;
        // 170 亲家公 
        map[170][171] = 1;    map[170][157] = 2;    map[170][159] = 3;    map[170][159] = 4;    map[170][159] = 5;    map[170][159] = 6;
        map[170][159] = 7;    map[170][159] = 8;    map[170][159] = 9;    map[170][159] = 10;   map[170][159] = 11;    map[170][159] = 12;
        // 171 亲家母
        map[171][158] = 1;    map[171][170] = 2;    map[171][159] = 3;    map[171][159] = 4;    map[171][159] = 5;    map[171][159] = 6;
        map[171][159] = 7;    map[171][159] = 8;    map[171][159] = 9;    map[171][159] = 10;   map[171][159] = 11;    map[171][159] = 12;
        // 172 曾外孙 
        map[172][159] = 1;    map[172][157] = 2;    map[172][159] = 3;    map[172][159] = 4;    map[172][159] = 5;    map[172][159] = 6;
        map[172][106] = 7;    map[172][107] = 8;    map[172][172] = 9;    map[172][172] = 10;   map[172][173] = 11;    map[172][173] = 12;
        // 173 曾外孙女 
        map[173][158] = 1;    map[173][159] = 2;    map[173][159] = 3;    map[173][159] = 4;    map[173][159] = 5;    map[173][159] = 6;
        map[173][106] = 7;    map[173][107] = 8;    map[173][172] = 9;    map[173][172] = 10;   map[173][173] = 11;    map[173][173] = 12;
        // 174 曾孙
        map[174][159] = 1;    map[174][157] = 2;    map[174][159] = 3;    map[174][159] = 4;    map[174][159] = 5;    map[174][159] = 6;
        map[174][159] = 7;    map[174][159] = 8;    map[174][159] = 9;    map[174][159] = 10;   map[174][159] = 11;    map[174][159] = 12;
        // 175 曾孙女
        map[175][158] = 1;    map[175][159] = 2;    map[175][159] = 3;    map[175][159] = 4;    map[175][159] = 5;    map[175][159] = 6;
        map[175][159] = 7;    map[175][159] = 8;    map[175][159] = 9;    map[175][159] = 10;   map[175][159] = 11;    map[175][159] = 12;
        // 176 表伯母
        map[176][158] = 1;    map[176][161] = 2;    map[176][42] = 3;    map[176][46] = 4;    map[176][48] = 5;    map[176][52] = 6;
        map[176][159] = 7;    map[176][159] = 8;    map[176][159] = 9;    map[176][159] = 10;   map[176][159] = 11;    map[176][159] = 12;
        // 177 表叔母
        map[177][158] = 1;    map[177][162] = 2;    map[177][42] = 3;    map[177][46] = 4;    map[177][48] = 5;    map[177][52] = 6;
        map[177][159] = 7;    map[177][159] = 8;    map[177][159] = 9;    map[177][159] = 10;   map[177][159] = 11;    map[177][159] = 12;
        // 178 表姑父
        map[178][163] = 1;    map[178][157] = 2;    map[178][159] = 3;    map[178][159] = 4;    map[178][159] = 5;    map[178][159] = 6;
        map[178][159] = 7;    map[178][159] = 8;    map[178][159] = 9;    map[178][159] = 10;   map[178][159] = 11;    map[178][159] = 12;
    }

    /*
     * 单例get
     */
    public static RelationMap getMap(Context c) {
        if (relationMap == null) {
            relationMap = new RelationMap(c.getApplicationContext());
        }
        return relationMap;
    }

    /*
     * 查询函数
     */
    private int seek(int who, int relation) {
        for (int i = 0; i < NAMES_NUM + 1; i++) {
            if (map[who][i] == relation) {
                return i;
            }
        }
        return 0;
    }

    /*
     * query_one函数
     */
    private int query_one(int who, int relation) {
        int result = 0;
        if ((result = seek(who, relation)) != 0) {
            return result;
        }
        // 被覆盖的情况
        if (relation == 3 || relation == 5 || relation == 9 || relation == 11) {
            if ((result = seek(who, relation + 1)) != 0) {
                return result;
            }
        }
        // 仍然未找到 返回159
        return 159;
    }

    /*
     * query
     */
    public int query(int[] relations) {
        int start = 166;
        int result = 166;
        for (int r : relations) {
            if (r == 0)
                break;
            result = query_one(start, r);
            start = result;
        }
        return result;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一个示例代码: ```php class UserModel { protected $relations = []; public function __construct() { $this->initRelationMap(); } protected function initRelationMap() { $this->relations = [ 'friends' => 'FriendModel', 'posts' => 'PostModel', 'comments' => 'CommentModel' ]; } } class FriendModel { // ... } class PostModel { // ... } class CommentModel { // ... } ``` 在这个例子中,`UserModel` 类有一个 `$relations` 属性,用于存储关联模型的类名。`initRelationMap()` 方法初始化了 `$relations` 数组,将关联模型的名称与相应的类名进行了映射。例如,`'friends' => 'FriendModel'` 表示 `UserModel` 与 `FriendModel` 之间存在一对多关系,即一个用户可以有多个好友。 在实际应用中,你需要根据自己的业务需求和数据模型来编写 `initRelationMap()` 方法,并且需要根据具体情况来实现关联查询等功能。 ### 回答2: 在这个问题中,我们需要编写一个使用PHP语言编写的派生自userModel子类,并完成其中的initRelationMap()方法的代码。 假设userModel子类的名称为MyUserModel,代码如下: ```php class MyUserModel extends userModel { protected function initRelationMap() { $this->relationMap = array( 'username' => 'user_name', 'email' => 'user_email', 'password' => 'user_password' ); } } ``` 在上述代码中,我们定义了一个名为MyUserModel的类,它继承自userModel类。我们使用protected关键字来定义initRelationMap()方法,并在其中初始化了一个关联映射数组,该数组将数据库表中的列名与我们在userModel类中定义的属性进行映射。 在本例中,我们将username属性映射到了user_name列,将email属性映射到了user_email列,将password属性映射到了user_password列。你可以根据你的实际需求修改对应的属性名称和列名。 请注意,由于userModel类的代码在本题目中不存在,因此我们无法提供完整的代码,只能给出一个示例。但是你可以根据我们提供的示例来理解和编写initRelationMap()方法的实际代码。 ### 回答3: 派生userModel子类并完成其中的initRelationMap()方法的代码如下: ```php class UserModel extends BaseModel { protected $relationMap = array(); public function initRelationMap() { $this->relationMap = array( 'id' => 'user_id', 'name' => 'user_name', 'email' => 'user_email', 'password' => 'user_password', // 添加其他字段映射关系 ); } } ``` 说明: - 在这段代码中,我们派生了一个名为UserModel的子类,并继承了一个名为BaseModel的基类。BaseModel类中包含了一些公共方法和属性。 - 子类UserModel中添加了一个名为$relationMap的保护属性,用于存储字段映射关系。 - 在initRelationMap()方法中,我们对$relationMap进行初始化,通过将数据库中的字段名和模型中对应的属性名进行映射。你可以根据实际情况添加其他字段的映射关系。 这段代码用于定义一个UserModel类,并初始化其中的字段映射关系,方便在不同的数据库操作中对应字段进行转换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值