网上有人说这题过不去,怎么可能呢,直接给代码

admin  •  1年前


`//猫和老鼠

include <bits/stdc++.h>

using namespace std;

int main() { //freopen("catmouse.in","r",stdin); //freopen("catmouse.out","w",stdout); int N,x,y,X,Y; //x,y为老鼠的坐标,X,Y为猫的坐标 cin>>N; //scanf要注意回车键的处理 for (int k = 0; k < N; k++) {

int m=0,c=0,count=0;                     //m为猫的方向,c为老鼠的方向
string Map[10];                          //储存地图
for (int j = 0; j < 10; j++)
  cin>>Map[j];                           //一次读一行
for (int i = 0; i < 10; i++)             //获取猫鼠所在的位置并标记
  for (int j = 0; j < 10; j++)
    if (Map[i][j] == 'C')
    {
      X = i;
      Y = j;
    }
    else if (Map[i][j] == 'M')
    {
      x = i;
      y = j;
    }
while (count < 100 && (X!=x || Y!=y))    //一百步之内或者未找到则继续找
{
  if (m==0 && x-1>=0 && Map[x-1][y]!='*')//模拟老鼠的移动
    x--;
  else if (m==1 && y+1<10 && Map[x][y+1]!='*')
    y++;
  else if (m==2 && x+1<10 && Map[x+1][y]!='*')
    x++;
  else if (m==3 && y-1>=0 && Map[x][y-1]!='*')
    y--;
  else
    m=(++m)%4;
  if (c==0 && X-1>=0 && Map[X-1][Y]!='*') //模拟猫的移动
    X--;
  else if (c==1 && Y+1<10 && Map[X][Y+1]!='*')
    Y++;
  else if (c==2 && X+1<10 && Map[X+1][Y]!='*')
    X++;
  else if (c==3 && Y-1>=0 && Map[X][Y-1]!='*')
    Y--;
  else
    c=(++c)%4;
  ++count;
}
printf("%d\n",(X == x && Y == y)?count:-1);

} return 0; } `


评论:

全错


魈凯KBS  •  1年前

你个编译不了的代码,发上来唬人吧。


张耀夫  •  1年前

nigecuowudaimanlewqniniuxdnixden@#$%^&()(_+)(&^%#@!@#%^&()_)(&^%#@%^&()_+)(&^%$#^&(+_)(&^%$$^&()__)(&^%$#%^&()_+)(&^%$#%^&()_+)(&^%$%^&()_+)(&^%))


张耀夫  •  1年前

直接贴图吧


admin  •  1年前

之前淘宝人邮店的莫名评价,但购书的都知道,书中的二维码和链接,包含了每道题的课件,视频,代码,QQ群的群文件里也可以下载相关资料,网站也是为配合本书的使用免费注册无限制使用的


admin  •  1年前


梁乃元  •  1年前