找回密码
 欢迎注册
楼主: KeyTo9_Fans

[求助] 关于沙发旋转90度角的问题

[复制链接]
发表于 2019-2-25 09:05:10 | 显示全部楼层
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #ifndef N
  5. #define N 1
  6. #endif
  7. #define NB (4*N+4)
  8. #define NS (NB*(1<<(N)))
  9. #define STATE_ID(loc, dir)   (((loc)<<(N))|dir)
  10. #define GET_LOC(state)       ((state)>>(N))
  11. #define GET_DIR(state)       ((state)&((1<<(N))-1))
  12. #define GET_DIR_X(state, x)  (((state)>>(x))&1)
  13. #define CHANGE_DIR(state, x) ((state)^=(1<<(x)))

  14. long dist[NS];
  15. long count[NS];
  16. int  edges[NS][2];
  17. int get_loc_col(int loc)
  18. {
  19.     if(loc<3)return 0;
  20.     return (loc-3)/2+1;
  21. }

  22. int get_loc_row(int loc)
  23. {
  24.     if(loc<3){
  25.         return loc%3;
  26.     }else{
  27.         return 2*((loc-3)%2);
  28.     }
  29. }

  30. int make_loc(int col, int row)
  31. {
  32.     if(col==0)return row;
  33.     return 3+(col-1)*2+row/2;
  34. }

  35. void build_count(int max_dist)
  36. {
  37.     int i,j;
  38.     for(i=0;i<NS;i++){
  39.         if(dist[i]==1)count[i]=1L;
  40.     }
  41.     for(j=2;j<=max_dist;j++){
  42.         for(i=0;i<NS;i++){
  43.            if(dist[i]==j){
  44.                long cc=0;
  45.                if(edges[i][0]>=0){
  46.                    if(dist[edges[i][0]]==j-1){
  47.                        cc+=count[edges[i][0]];
  48.                    }
  49.                    if(edges[i][1]>=0){
  50.                        if(dist[edges[i][1]]==j-1){
  51.                            cc+=count[edges[i][1]];
  52.                        }
  53.                    }
  54.                }
  55.                count[i]=cc;
  56.            }
  57.         }
  58.     }
  59. }


  60. void dump_state(int state)
  61. {
  62.     int loc = GET_LOC(state);
  63.     int dir = GET_DIR(state);
  64.     int col = get_loc_col(loc);
  65.     int row = get_loc_row(loc);
  66.     int i;int p=0;
  67.     for(i=0;i<2*N+2;i++){
  68.        p=0;
  69.        if(row==0&&col==i){
  70.            printf("%c",'P');p=1;
  71.        }else{
  72.            if(i>0&&i<2*N+1){
  73.                int sofa_id=(i-1)/2;
  74.                if((i&1)==0&&GET_DIR_X(state,sofa_id)==0){
  75.                   printf("%c",'|');p=1;
  76.                }
  77.            }
  78.            if(!p)printf("%c",'O');
  79.        }
  80.     }
  81.     printf("\n");
  82.     for(i=0;i<2*N+2;i++){
  83.        if(i==0||i==2*N+1){
  84.            if(row==1&&col==i){
  85.                printf("%c",'P');
  86.            }else{
  87.                printf("%c",'O');
  88.            }
  89.        }else if((i&1)==1){
  90.            printf("%c",'-');
  91.        }else{
  92.            int sofa_id=(i-1)/2;
  93.            if(GET_DIR_X(state,sofa_id)==0){
  94.                printf("%c",'J');
  95.            }else{
  96.                printf("%c",'7');
  97.            }
  98.        }
  99.     }
  100.     printf("\n");
  101.     for(i=0;i<2*N+1;i++){
  102.        if(row==2&&col==i){
  103.           printf("%c",'P');
  104.        }else{
  105.           int sofa_id=(i-1)/2;
  106.           p=0;
  107.           if(i>0){
  108.              if((i&1)==0&&GET_DIR_X(state,sofa_id)==1){
  109.                 printf("%c",'|');p=1;
  110.              }
  111.           }
  112.           if(!p)printf("%c",'O');
  113.        }
  114.     }
  115.     printf("\n");
  116. }

  117. //return num_states, return -1 if any error
  118. int get_next_state(int cur_state, int next_states[2])
  119. {
  120.     int loc = GET_LOC(cur_state);
  121.     int dir = GET_DIR(cur_state);
  122.     int col = get_loc_col(loc), row=get_loc_row(loc);
  123.     int sofa_id = (col-1)/2;
  124.     int num_states=0;
  125.     if(col==0){
  126.         if(row==0){
  127.            next_states[0]=STATE_ID(make_loc(1,0), dir);
  128.            next_states[1]=STATE_ID(make_loc(0,1), dir);
  129.            num_states=2;
  130.         }else if(row==1){
  131.            next_states[0]=STATE_ID(make_loc(0,0), dir);
  132.            next_states[1]=STATE_ID(make_loc(0,2), dir);
  133.            num_states=2;
  134.         }else if(row==2){
  135.            next_states[0]=STATE_ID(make_loc(0,1), dir);
  136.            next_states[1]=STATE_ID(make_loc(1,2), dir);
  137.            num_states=2;
  138.         }else{
  139.            num_states=-1;//invalid state
  140.         }
  141.     }else if(col==2*N+1){
  142.         if(row==0){
  143.            dist[cur_state]=1;//next is one of exits
  144.         }else{
  145.            num_states=-1;//invalid state
  146.         }
  147.     }else if(col%2==1){
  148.         if(row==0){
  149.             if(sofa_id==0||GET_DIR_X(cur_state,sofa_id-1)==1){
  150.                 next_states[num_states++]=STATE_ID(make_loc(col-1,row), dir);
  151.             }
  152.             if(sofa_id>0&&GET_DIR_X(cur_state,sofa_id-1)==0){
  153.                 next_states[num_states++]=STATE_ID(make_loc(col-2,row),CHANGE_DIR(dir,sofa_id-1));
  154.             }
  155.             if(GET_DIR_X(cur_state,sofa_id)==0){
  156.                 next_states[num_states++]=STATE_ID(make_loc(col,2), CHANGE_DIR(dir,sofa_id));
  157.             }
  158.             if(GET_DIR_X(cur_state,sofa_id)==1){
  159.                 next_states[num_states++]=STATE_ID(make_loc(col+1,0), dir);
  160.             }
  161.         }else if(row==2){
  162.             if(sofa_id==0||GET_DIR_X(cur_state,sofa_id-1)==0){
  163.                 next_states[num_states++]=STATE_ID(make_loc(col-1,row),dir);
  164.             }
  165.             if(sofa_id>0&&GET_DIR_X(cur_state,sofa_id-1)==1){
  166.                 next_states[num_states++]=STATE_ID(make_loc(col-2,row), CHANGE_DIR(dir, sofa_id-1));
  167.             }
  168.             if(GET_DIR_X(cur_state,sofa_id)==1){
  169.                 next_states[num_states++]=STATE_ID(make_loc(col,0), CHANGE_DIR(dir,sofa_id));
  170.             }
  171.             if(GET_DIR_X(cur_state,sofa_id)==0){
  172.                 next_states[num_states++]=STATE_ID(make_loc(col+1,2),dir);
  173.             }
  174.         }else{
  175.             num_states=-1;
  176.         }
  177.     }else{
  178.         if(row==0){
  179.             if(GET_DIR_X(cur_state,sofa_id)==0){
  180.                 num_states=-1;//invalid state
  181.             }else{
  182.                 next_states[num_states++]=STATE_ID(make_loc(col-1,0),dir);
  183.                 next_states[num_states++]=STATE_ID(make_loc(col+1,0),dir);
  184.             }
  185.         }else if(row==2){
  186.             if(GET_DIR_X(cur_state,sofa_id)==1){
  187.                 num_states=-1;//invalid state
  188.             }else{
  189.                 next_states[num_states++]=STATE_ID(make_loc(col-1,2),dir);
  190.                 if(sofa_id<N-1){
  191.                    next_states[num_states++]=STATE_ID(make_loc(col+1,2),dir);
  192.                 }
  193.             }
  194.         }else{
  195.             num_states=-1;
  196.         }
  197.     }
  198.     return num_states;
  199. }

  200. void build_edges()
  201. {
  202.     int i;
  203.     int next_states[2];
  204.     for(i=0;i<NS;i++){
  205.         int num_edges=get_next_state(i,next_states);
  206.         if(num_edges==0){
  207.              edges[i][0]=edges[i][1]=-1; //destine states
  208.             
  209.         }else if(num_edges==-1){
  210.              edges[i][0]=edges[i][1]=-2; //invalid states
  211.         }else if(num_edges==1){
  212.              edges[i][0]=next_states[0];
  213.              edges[i][1]=-1;
  214.         }else if(num_edges==2){
  215.              edges[i][0]=next_states[0];
  216.              edges[i][1]=next_states[1];
  217.         }else{
  218.              fprintf(stderr,"Invalid in building edges\n");
  219.              exit(-1);
  220.         }
  221.     }
  222. }

  223. void dump_edges()
  224. {
  225.     int i,j;
  226.     for(i=0;i<NS;i++){
  227.         for(j=0;j<2;j++){
  228.              if(edges[i][j]<0)break;
  229.              printf("edge:%x(%ld)=>%x(%ld)\n",i,dist[i],edges[i][j],dist[edges[i][j]]);
  230.              dump_state(i);
  231.              printf("=>\n");
  232.              dump_state(edges[i][j]);  
  233.         }
  234.     }
  235. }

  236. void dump_dists()
  237. {
  238.     int i;
  239.     for(i=0;i<NS;i++){
  240.        printf("state %x, dist %ld\n",i,dist[i]);
  241.        dump_state(i);
  242.     }
  243. }

  244. void init_dist()
  245. {
  246.     int i;
  247.     for(i=0;i<NS;i++)dist[i]=-1;
  248. }

  249. void build_dist()
  250. {
  251.     int i,j,k;
  252.     for(i=0;i<NS;i++)for(j=0;j<NS;j++){
  253.         for(k=0;k<2;k++){
  254.             int target = edges[j][k];
  255.             if(target<0)break;
  256.             if(dist[target]<0)continue;
  257.             if(dist[j]==-1||dist[target]+1<dist[j])dist[j]=dist[target]+1;
  258.         }
  259.     }
  260. }

  261. void visit(int state)
  262. {
  263.     int i,j;
  264.     long len=dist[state];
  265.     for(i=(int)len;i>=1;i--){
  266.         dump_state(state);
  267.         printf("(%0x)=>\n",state);
  268.         int next_state=-1;
  269.         for(j=0;j<2;j++){
  270.             if(edges[state][j]<0)break;
  271.             if(dist[edges[state][j]]!=i-1)continue;
  272.             next_state=edges[state][j]; break;
  273.         }
  274.         if(next_state<0&&i>1){
  275.             fprintf(stderr,"Fail to find next state, invalid code\n");
  276.             exit(-1);
  277.         }
  278.         state=next_state;
  279.     }
  280.     printf("Exit\n");
  281. }

  282. int main()
  283. {
  284.     init_dist();
  285.     build_edges();
  286.     build_dist();
  287.     int start_state = STATE_ID(make_loc(0,1),0);
  288.     build_count(dist[start_state]);
  289.     if(dist[start_state]>=0){
  290.          printf("Best dist %ld, totoal count %ld\n",dist[start_state],count[start_state]);
  291.          visit(start_state);
  292.     }else{
  293.          printf("Fail to find result\n");
  294.     }
  295. //    dump_edges();
  296. //    dump_dists();
  297.     return 0;
  298. }
复制代码

道路千万条,最短仅一条;代码无注释,阅者两行累。

点评

现在发现这个代码意义也不是很大,因为从每个状态出发最多最有两条边,也就是如果不后退,只有一条路,所以是唯一路径的,如果按这个思路,那么只要计算路径长度即可  发表于 2019-2-25 14:12
mathe大神牛拍的代码,就是神速(又快又准)……我等小民达不到这速度和正确度……  发表于 2019-2-25 13:04

评分

参与人数 1威望 +6 金币 +6 贡献 +6 经验 +6 鲜花 +6 收起 理由
KeyTo9_Fans + 6 + 6 + 6 + 6 + 6 能输出$10$楼那串经文的代码,差不到哪里去

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-2-25 09:47:44 | 显示全部楼层
阅者两行累,那作者呢,, 作者是沙洲寂寞冷。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-2-25 11:25:42 | 显示全部楼层
看着头疼,思路是不是BFS?

点评

Dijkstra  发表于 2019-2-25 11:36
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-2-25 18:53:06 | 显示全部楼层
本帖最后由 王守恩 于 2019-2-26 06:43 编辑

谢谢mathe!
给出119的行走路线。本人不会画图,只能将就了。
  上排共 10 格。
第1格16个数:1,6,14,19,30,35,43,48,62,67,75,80,91,96,104,109,
第2格16个数:2,7,15,20,31,36,44,49,63,68,76,81,92,97,105,110,
第3格8个数:8,21,37,50,69,82,98,111,
第4格8个数:9,22,38,51,70,83,99,112,
第5格4个数:23,52,84,113,
第6格4个数:24,53,85,114,
第7格2个数:54,115,
第8格2个数:55,116,
第9格1个数:117,
第10格1个数:118,
  中排共 10 格。
第1格16个数:0,5,13,18,29,34,42,47,61,66,74,79,90,95,103,108,
第2——10格为空格
  下排共 10 格。
第1格15个数:4,12,17,28,33,41,46,60,65,73,78,89,94,102,107,
第2格15个数:3,11,16,27,32,40,45,59,64,72,77,88,93,101,106,
第4格7个数:10,26,39,58,71,87,100,
第6格3个数:25,57,86,
第8格1个数:56,
第10格1个数:119.
第3,5,7,9格为空格

补充内容 (2019-2-26 07:57):
请版主删除。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-2-26 07:55:27 | 显示全部楼层
本帖最后由 王守恩 于 2019-2-26 08:31 编辑
王守恩 发表于 2019-2-25 18:53
谢谢mathe!
给出119的行走路线。本人不会画图,只能将就了。
  上排共 10 格。


119 可以这样表示。
第 1 个 “出” 表示 “3”
第 2 个 “出” 表示 “10”
第 3 个 “出” 表示 “25”
第 4 个 “出” 表示 “56”
第 5 个 “出” 表示 “119”
规律:凡是第\(\ 2^n\ \)行就有1个 “出”

原-上-右-出-左
-上-上-右-右-右-出-左-左
-上-上-右-下-左
-上-上-右-右-右-右-右-出-左-左-左
-上-上-右-下-左
-上-上-右-右-右-下-左-左
-上-上-右-下-左
-上-上-右-右-右-右-右-右-右-出-左-左-左-左
-上-上-右-下-左
-上-上-右-右-右-下-左-左
-上-上-右-下-左
-上-上-右-右-右-右-右-下-左-左-左
-上-上-右-下-左
-上-上-右-右-右-下-左-左
-上-上-右-下-左
-上-上-右-右-右-右-右-右-右-右-右-出

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-2-26 09:08:54 | 显示全部楼层
本帖最后由 王守恩 于 2019-2-26 10:21 编辑
王守恩 发表于 2019-2-26 07:55
119 可以这样表示。
第 1 个 “出” 表示 “3”
第 2 个 “出” 表示 “10”


246 可以这样表示。
原-上-右-下-左-上-上-右-右-右-下-左-左
-上-上-右-下-左-上-上-右-右-右-右-右-下-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左
-上-上-右-下-左-上-上-右-右-右-右-右-右-右-下-左-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左
-上-上-右-下-左-上-上-右-右-右-右-右-下-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左
-上-上-右-下-左-上-上-右-右-右-右-右-右-右-右-右-下-左-左-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左
-上-上-右-下-左-上-上-右-右-右-右-右-下-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左
-上-上-右-下-左-上-上-右-右-右-右-右-右-右-下-左-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左
-上-上-右-下-左-上-上-右-右-右-右-右-下-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左
-上-上-右-下-左-上-上-右-右-右-右-右-右-右-右-右-右-右-出
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-2-26 10:46:42 | 显示全部楼层
王守恩 发表于 2019-2-26 09:08
246 可以这样表示。
原-上-右-下-左-上-上-右-右-右-下-左-左
-上-上-右-下-左-上-上-右-右-右-右- ...

501 可以这样表示。
原-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-下-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-右-右-下-左-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-下-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-右-右-右-右-下-左-左-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-下-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-右-右-下-左-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-下-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-右-右-右-右-右-右-下-左-左-左-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-下-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-右-右-下-左-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-下-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-右-右-右-右-下-左-左-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-下-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-右-右-下-左-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-下-左-左-左
-上-上-右-下-左-上-上-右-右-右-下-左-左-上-上-右-下-左-上-上-右-右-右-右-右-右-右-右-右-右-右-右-右-出
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-2-26 17:58:07 来自手机 | 显示全部楼层
假设n张沙发走的路径为$S_n$-出。那么对于n+1张沙发的情况,走 "$S_n$-下-n个左-上-$S_n$-右-右-出" 即可
由于S_n的长度为a_n-1,所以可以计算得$a_{n+1}=2a_n+n+3$
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-2-27 09:03:21 | 显示全部楼层
本帖最后由 王守恩 于 2019-2-27 09:05 编辑
mathe 发表于 2019-2-26 17:58
假设n张沙发走的路径为$S_n$-出。那么对于n+1张沙发的情况,走 "$S_n$-下-n个左-上-$S_n$-右-右-出" 即可
...


         用二进制来表示  A000247
  3, 10, 25, 56, 119, 246, 501, 1012, 2035, 4082, 8177, 16368, 32751, 65518, 131053,
  262124, 524267, 1048554, 2097129, 4194280, 8388583, 16777190, 33554405, 67108836,
  134217699, 268435426, 536870881, 1073741792, 2147483615,
                                                               
                                                             1 1=               
                                                         1 0 1 0=1+2
                                                       1 1 0 0 1=2+1
                                                     1 1 1 0 0 0=3+0=2+8
                                                   1 1 1 0 1 1 1=3+7
                                                 1 1 1 1 0 1 1 0=4+6
                                               1 1 1 1 1 0 1 0 1=5+5
                                             1 1 1 1 1 1 0 1 0 0=6+4
                                           1 1 1 1 1 1 1 0 0 1 1=7+3
                                         1 1 1 1 1 1 1 1 0 0 1 0=8+2
                                       1 1 1 1 1 1 1 1 1 0 0 0 1=9+1
                                     1 1 1 1 1 1 1 1 1 1 0 0 0 0=10+0=9+16
                                   1 1 1 1 1 1 1 1 1 1 0 1 1 1 1=10+15
                                 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0=11+14
                               1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1=12+13
                             1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0=13+12
                           1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1=14+11
                         1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0=15+10
                       1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1=16+9
                     1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0=17+8
                   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1=18+7
                 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0=19+6
               1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1=20+5
             1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0=21+4
           1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1=22+3
         1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0=23+2
       1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1=24+1
     1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0=25+0=24+32
   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1=25+31
  1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0=26+30
           
                    
         
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-2-27 13:12:02 | 显示全部楼层
王守恩 发表于 2019-2-27 09:03
用二进制来表示  A000247
  3, 10, 25, 56, 119, 246, 501, 1012, 2035, 4082, 8177, 16368, ...

通项公式 :a (n) = 2^n - n - 2.  n >= 4
{10, 25, 56, 119, 246, 501, 1012, 2035, 4082, 8177, 16368, 32751, \
65518, 131053, 262124, 524267, 1048554}
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-22 01:32 , Processed in 0.032593 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表