免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1705 | 回复: 6
打印 上一主题 下一主题

[C] 关于随机步的练习,希望大家给点思路 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-08 11:24 |只看该作者 |倒序浏览
习题的要求是这样: 在10*10矩阵内,随机前进,并用A~Z来记录前进方向。
小弟做了很久,也未能完全成功。
我的思路是这样: 用time作为参数给srand,并用rand生成随机数。 随机数生成后%4产生0~3,代表下一步的四个方向。随后用switch来判断并改变坐标。在移动前要判断新的坐标是否在矩阵内(行 >= 0, 行 <= 9, 列 >= 0, 列 <= 9),且新坐标上没有放过字母。否则重新选择方向。

现在的问题出在这里:倘若能A~Z都走完,没有问题。但在未能走完26个字母时,有某一步的四个方向都被锁定,则程序出现问题。
例如:
Q R S
X Y  T
W V U

在执行到Y时,4个方向都被锁定,而无法放下Z。

我想了很久,始终没办法解决这一步的判定四个方向锁定的问题,并且在重新选择方向的办法上,似乎也有些问题。
希望大家能提供一些解决思路,多谢各位。

[ 本帖最后由 niexinnm 于 2009-3-8 18:51 编辑 ]

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11
2 [报告]
发表于 2009-03-08 16:26 |只看该作者

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <time.h>

  5. #define DIMENSION_X   11
  6. #define DIMENSION_Y   10

  7. int print_array(int *array)
  8. {
  9.         int x, y;

  10.         printf("   ");
  11.         for (x = 0; x < DIMENSION_X; x++) {
  12.                 printf("%3d", x + 1);
  13.         }
  14.         printf("\n");
  15.         for (y = 0; y < DIMENSION_Y; y++) {
  16.                 printf("%3d", y + 1);
  17.                 for (x = 0; x < DIMENSION_X; x++) {
  18.                         if (array[y * DIMENSION_X + x] == 0) {
  19.                                 printf("  %c", ' ');
  20.                         }else {
  21.                                 printf("  %c", array[y * DIMENSION_X + x]);
  22.                         }
  23.                 }
  24.                 printf("\n");
  25.         }
  26.         return 0;
  27. }

  28. int get_array_space_count(int *array, int x, int y)
  29. {
  30.         int n;

  31.         if (x < 0) {
  32.                 x += DIMENSION_X;
  33.         }else if (x >= DIMENSION_X) {
  34.                 x -= DIMENSION_X;
  35.         }
  36.         if (y < 0) {
  37.                 y += DIMENSION_Y;
  38.         }else if (y >= DIMENSION_Y) {
  39.                 y -= DIMENSION_Y;
  40.         }
  41.         if (array[y * DIMENSION_X + x] == 0) {
  42.                 array[y * DIMENSION_X + x] = '*';
  43.                 n = get_array_space_count(array, x, y - 1) + get_array_space_count(array, x, y + 1) + get_array_space_count(array, x - 1, y) + get_array_space_count(array, x + 1, y) + 1;
  44.                 return n;
  45.         }
  46.         return 0;
  47. }

  48. int clear_array_indicator(int *array)
  49. {
  50.         int x, y;

  51.         for (y = 0; y < DIMENSION_Y; y++) {
  52.                 for (x = 0; x < DIMENSION_X; x++) {
  53.                         if (array[y * DIMENSION_X + x] == '*') {
  54.                                 array[y * DIMENSION_X + x] = 0;
  55.                         }
  56.                 }
  57.         }
  58.         return 0;
  59. }

  60. int get_array_count(int *array, int x, int y)
  61. {
  62.         int count;

  63.         count = get_array_space_count(array, x, y);
  64.         clear_array_indicator(array);
  65.         return count;
  66. }

  67. int main(void)
  68. {
  69.         int array[10][DIMENSION_X];
  70.         char cc;
  71.         int step;
  72.         int x, y;

  73.         memset(array, 0, sizeof(array));
  74.         srand(time(NULL));
  75.         x = rand() % DIMENSION_X;
  76.         y = rand() % DIMENSION_Y;
  77.         cc = 'A';
  78.         while (cc <= 'Z') {
  79.                 step = rand() % 4;
  80.                 switch (step) {
  81.                 case 0: /* up */
  82.                         if (get_array_count(&array[0][0], x, y - 1) <= ('Z' - cc)) {
  83.                                 continue;
  84.                         }else {
  85.                                 -- y;
  86.                                 break;
  87.                         }
  88.                 case 1: /* down */
  89.                         if (get_array_count(&array[0][0], x, y + 1) <= ('Z' - cc)) {
  90.                                 continue;
  91.                         }else {
  92.                                 ++ y;
  93.                                 break;
  94.                         }
  95.                 case 2: /* left */
  96.                         if (get_array_count(&array[0][0], x - 1, y) <= ('Z' - cc)) {
  97.                                 continue;
  98.                         }else {
  99.                                 -- x;
  100.                                 break;
  101.                         }
  102.                 case 3: /* right */
  103.                         if (get_array_count(&array[0][0], x + 1, y) <= ('Z' - cc)) {
  104.                                 continue;
  105.                         }else {
  106.                                 ++ x;
  107.                                 break;
  108.                         }
  109.                 }
  110.                 if (x < 0) {
  111.                         x += DIMENSION_X;
  112.                 }else if (x >= DIMENSION_X) {
  113.                         x -= DIMENSION_X;
  114.                 }
  115.                 if (y < 0) {
  116.                         y += DIMENSION_Y;
  117.                 }else if (y >= DIMENSION_Y) {
  118.                         y -= DIMENSION_Y;
  119.                 }
  120.                 array[y][x] = cc;
  121.                 ++cc;
  122.         }
  123.         print_array(&array[0][0]);
  124.         return -1;
  125. }
复制代码

论坛徽章:
0
3 [报告]
发表于 2009-03-08 16:40 |只看该作者
这是迷宫求解问题吧,  设一个栈. 记入路径,  走不通就往回走, 并记录当前路径不通.

论坛徽章:
0
4 [报告]
发表于 2009-03-08 18:48 |只看该作者
多谢大家帮忙,我回去仔细学习。菜鸟就是问题多多,哈哈。

论坛徽章:
0
5 [报告]
发表于 2009-03-08 23:31 |只看该作者
这个是小弟整理思路之后的代码,依然有问题,但起码不再死循环了。
因为没有学到函数那一章,所以没有用函数的方法。
思路是:
当随机数产生后,若下一步不能满足要求(在范围内且未放过字母),则 (step + 1) % 4来轮换下一个方向,如果四个方向都无法满足,则四个方向都锁定,程序结束。

但写完后还是有问题,无法达到要求。希望各位能指点一下。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define ROW 10
#define COL 10

int main(void)
{
&nbsp;&nbsp;&nbsp;&nbsp;char matrix[ROW][COL];
&nbsp;&nbsp;&nbsp;&nbsp;char letter;
&nbsp;&nbsp;&nbsp;&nbsp;int step, dir, row, col;

&nbsp;&nbsp;&nbsp;&nbsp;for (row = 0; row < ROW; row++)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (col = 0; col < COL; col++)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matrix[row][col] = '.';

&nbsp;&nbsp;&nbsp;&nbsp;srand((unsigned) time(NULL));
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;row = 0; col = 0;
&nbsp;&nbsp;&nbsp;&nbsp;dir = 0; letter = 'A';
&nbsp;&nbsp;&nbsp;&nbsp;while (letter <= 'Z') {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;step = rand() % 4;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (dir <= 4) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch (step) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 0:&nbsp;&nbsp;&nbsp;&nbsp;/*向上*/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (--row >= 0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;++row;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 1:&nbsp;&nbsp;&nbsp;&nbsp;/*向右*/ &nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (++col <= 9)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--col;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 2:&nbsp;&nbsp;&nbsp;&nbsp;/*向下*/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (++row <= 9)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--row;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 3:&nbsp;&nbsp;&nbsp;&nbsp;/*向左*/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (--col >= 0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;++col;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (matrix[row][col] == '.') {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matrix[row][col] = letter;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;++letter;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dir = 0;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;step = (step + 1) % 4;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;++dir;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!(dir <= 4))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;for (row = 0; row < ROW; row++) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (col = 0; col < COL; col++)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(" %c", matrix[row][col]);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("\n");
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;return (0);
}


菜鸟代码十分丑陋,见谅见谅^____^

论坛徽章:
0
6 [报告]
发表于 2009-06-06 21:11 |只看该作者
我也有这个问题,虽然锁定问题可以解决,但是问题会出现一些字母出现在不应该出现的位置上或提前结束,问题随机出现。不知道为什么

/*随机步程序*/
/*第8章13题*/
/*产生随机数*/
/*地图*/


#include <stdio.h>
#include <time.h>
#include <stdlib.h>

#define N 10

int main(int argc, char *argv[])
{
        char map[N][N];//开始地图
        int i,j;//初始化地图变量
        int remnumber;//随机数余数
        int xhang = 0, xlie = 0;//目前所在位置
        int bhang, blie;//要改变的位置
       
        //开始初始化地图
        for( i = 0; i < N; i ++)
                for( j = 0; j < N; j ++){
                        map[j] = '*';
                }
               
        //初始化随机数
        srand((unsigned)time(NULL));
       
        map[0][0] = 'A';
       
        i = 1;//计数用
        //开始主循环
        while( i <26 ){
               
               
                remnumber = rand() % 4;
               
                blie = 0;
                bhang = 0;
               
                switch(remnumber){
                        case 0: blie = -1; break;
                        case 1: bhang = 1; break;
                        case 2: bhang = -1; break;
                        case 3: blie = 1; break;
                }
               
                xhang +=bhang;
                xlie +=blie;
               
                //如果第一个就是负值话,会有问题,会使xhang,xlie的值不确定
                if( xhang > -1 && xhang < 10 && xlie > -1 && xlie < 10){
                        if( map[xlie][xhang] == '*'){
                                map[xlie][xhang] = 'A' + i;
                                i ++;
                        }
                        else if( map[xlie + 1][xhang] != '*'
                                                && map[xlie - 1][xhang] != '*'
                                                && map[xlie][xhang +1] != '*'
                                                && map[xlie][xhang -1] !='*'){
                        /*        printf("%c%c%c%c",map[xlie - 1][xhang],
                                                map[xlie][xhang +1],
                                                map[xlie][xhang -1],
                                                map[xlie - 1][xhang]);*/
                                break;               
                        }
                else {
                        xhang = xhang - bhang;
                        xlie = xlie - blie;
                       
                        }
                }//if()
               
               
        } //while(1)
        printf("\n");
        for( i = 0; i < N; i++){
                for( j = 0; j < N; j++){
                        printf("%c  ",map[j]);
                }
        printf("\n");
        }

       
        return 0;
}
//6.6日,有问题。问题不按顺序填数

论坛徽章:
0
7 [报告]
发表于 2009-06-06 21:12 |只看该作者
另外,用你的程序也会出现这些问题,常常有一些字母出现在不应该出现的位置。比较不和前一个字母不相连的地方
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP