非常困惑,恳请帮助
  • 板块P1189 SEARCH
  • 楼主华年
  • 当前回复4
  • 已保存回复4
  • 发布时间2020/8/21 01:38
  • 上次更新2023/11/6 19:47:59
查看原帖
非常困惑,恳请帮助
240858
华年楼主2020/8/21 01:38


如图,上面这个图是我 第一个测试点 和样例,都通过了(废话,样例不过我也不会提交).但是,全WA
起初觉得不可思议,就把题解(第一篇)复制上去了,题解A了,应该题也没问题吧(是不是不应有这种怀疑)
由于第一个测试点在本机上是过了,肉眼和fc查找都没有问题,我就把第二个测试点骗到手了.第二个测试点比较大,我想跑跑看,但是跑不出来,程序运行到现在都没跑完测试点2(难道是因为电脑太渣>?)
提交结果里没有TLE,只是WA,这就挺离谱的.但是我又注意到了有趣的一个点.

Wrong Answer.Too short on line 1.

这说明我的程序根本没输出>?但是在本机上确实有输出啊.
实在想不明白是咋回事
这是最后一次评测
其实最后一次评测我是把代码逻辑改写了一下.第一次交的代码貌似真的有问题,但是上面这个大概没有问题了吧...

  • 1.in
3 3
...
..X
*..
3
EAST
NORTH
WEST


(没错,最后一行就是那个符号)

  • 1.out
*..
*.X
...
  • 2.in
50 50
..XXXXX.X..X..X...X...XX....XXX...XX..X.XX.X..X..X
X.X.......X.X.X...X.....X.........X..XXX.X.XX.X.XX
..X...X...XX......X.X..X.X.XX.....X....XXX....XXX.
....X...X....X.XXX...X.X.........X..XX.........X..
.X..X....X.X....X.XXX..X.....X..X..XXX....X....XXX
.X..X.X.X.X..X.XXXX..X.X....X.X...X.X.X...X..X..X.
...X..X....X.XXX.X....XXX..XX.X..X.XX......XX..XX.
X..X...XX.X...X.....XX....X.X...X..XX....X.X.XX.XX
........XX.....XX.XX......X...X.XXXX.........XX..X
XX..X....XX.X.XX.XXX..X.....XX...X....X.X.......XX
...XX.X..XXX..XX.XXX....X.....XX..XX...X.X........
....X.X........X.X.X.X..X*X..XXXX.X..X.X..XX.XXXXX
.X..X.....X.....X...X..........XXX....XX.X.X..X..X
....XXXX..X.X...X.X.X.X.X..X...XX..X....X.X..X.X..
.XX........XX..X..X...X.X.X..XXX.......X....XX..XX
X...XX..X..X......X..XX...XX..XX..X..X..XX.....X..
......X..XX.XX..XX........XXX...X.X..X..XXX.....XX
XXX.XX.X.....X...XX.....XX....X...X...XX.XX..XX...
.......X...X...X..XX.X....X.X........X...X.XXXX..X
X.X.......XXXXXX......X..X..X......X...XXXX.XX....
XX.X................XX.XX.....XXX.X.X.X..XX.X....X
X.X...X...X...........X.XXX...X.X....X....X.X...X.
.....X.XXX.X.....X.X....X.X...X.....X.X.XX.X...X.X
XX..X.X.........X..X....X..X.X..X......X.XX..XX.XX
...XX..XX.X.X.XX.X...X.....X.X.XX.X....X.X..X..XXX
..X.X....XXX..X.....XX.X..X.X....X.XXX.........X..
X.X..X.X.........X........X.XX.XX..XX.X.X.X...X...
X.XX....X.....XX....X.XXX...........X.XXXXX.X...X.
..XX..X..X......X....XX.XX...X...X.X.....XX..X..XX
.X.X..X.......X...XXXX..X..X..XXX..X....X.X.....X.
XXX...XX.......XXX.X.XX......XX..XXXX.........X...
X.X.X....X....XXX.X....X.XXXX.X......X...XXX.XX...
X.X...X.XXX.....XX...XXX.......XX.X...X...X.X.....
.XX...XX.XXXXX......XXX.......X...........X..XXXXX
X..XXX...X..XX...X......X..X.X......XXXXX..X..X...
X..XX..XX..X...X.X.X.....XXXXXX.X.X...............
..X...XX.X....X.X....X.X......XXX..X.X...X..X.XX..
....X.....X.X.X.XX......X.X...............XXX..X.X
.....XX.X..XXXX.X....X..X..X....X.X...XXX...XXXX.X
XX.X........X..XX.........XXX.X....X.X....XXX.X.X.
X...XXX........XX.XX.X......XX....X...X......X....
X..X..XXX.XX....X.....X.....X.....XX.............X
.....XX.XXXX.XX...XX.X.XX..XX..XX.X.XX..XXX...X...
........XX..XXX..X..X...X.X.X.X..XXXXX...XX.......
X..X.XX.XX.XXXX...X.X.XX..XX...X....X............X
.XX...XX..XX.........X....XX.X.X.X..XXXXXX...X....
X...XX.X...X.XXXX...XX....X.....XX.......X.XXX.X..
..X.XXX..X.X....X...........XX....X.....X.XX.X....
...XX.X.X.X....X.XX.......X.....XX........XXX.XXXX
.....XX.X.XX.XX.XX.X..X..X...X....X...XX..X..X...X
1000
SOUTH
NORTH
WEST
NORTH
WEST
SOUTH
NORTH
SOUTH
WEST
SOUTH
NORTH
EAST
WEST
NORTH
SOUTH
WEST
NORTH
WEST
SOUTH
EAST
SOUTH
NORTH
SOUTH
NORTH
EAST
SOUTH
NORTH
SOUTH
EAST
SOUTH
WEST
EAST
WEST
EAST
SOUTH
EAST
NORTH
SOUTH
NORTH
WEST
SOUTH
EAST
WEST
NORTH
WEST
EAST
WEST
EAST
SOUTH
WEST
NORTH
SOUTH
EAST
SOUTH
EAST
WEST
EAST
WEST
NORTH
EAST
WEST
SOUTH
WEST
SOUTH
EAST
SOUTH
NORTH
WEST
NORTH
EAST
WEST
NORTH
SOUTH
EAST
WEST
SOUTH
NORTH
WEST
SOUTH
EAST
SOUTH
WEST
EAST
NORTH
SOUTH
NORTH
SOUTH
EAST
SOUTH
EAST
NORTH
WEST
EAST
WEST
EAST
WEST
EAST
SOUTH
NORTH
EAST
NORTH
WEST
SOUTH
EAST
SOUTH
NORTH
WEST
NORTH
EAST
NORTH
SOUTH
EAST
WEST
SOUTH
NORTH
EAST
SOUTH
NORTH
SOUTH
EAST
SOUTH
EAST
NORTH
EAST
WEST
SOUTH
EAST
NORTH
EAST
WEST
SOUTH
WEST
EAST
WEST
NORTH
EAST
WEST
NORTH
WEST
NORTH
EAST
SOUTH
WEST
SOUTH
WEST
NORTH
SOUTH
WEST
NORTH
EAST
SOUTH
NORTH
WEST
NORTH
SOUTH
WEST
SOUTH
NORTH
WEST
SOUTH
NORTH
EAST
WEST
NORTH
WEST
NORTH
EAST
SOUTH
EAST
NORTH
EAST
NORTH
WEST
SOUTH
EAST
WEST
EAST
NORTH
SOUTH
WEST
NORTH
WEST
EAST
NORTH
WEST
SOUTH
EAST
WEST
EAST
NORTH
EAST
WEST
SOUTH
NORTH
WEST
SOUTH
WEST
NORTH
WEST
SOUTH
EAST
WEST
SOUTH
WEST
NORTH
EAST
WEST
SOUTH
EAST
WEST
SOUTH
EAST
NORTH
WEST
EAST
WEST
SOUTH
WEST
SOUTH
NORTH
EAST
WEST
NORTH
EAST
WEST
NORTH
WEST
SOUTH
NORTH
WEST
EAST
WEST
SOUTH
WEST
EAST
SOUTH
WEST
NORTH
WEST
NORTH
SOUTH
WEST
EAST
NORTH
EAST
SOUTH
WEST
NORTH
SOUTH
WEST
EAST
SOUTH
WEST
EAST
WEST
NORTH
EAST
WEST
SOUTH
WEST
SOUTH
EAST
NORTH
EAST
NORTH
WEST
NORTH
SOUTH
EAST
SOUTH
WEST
SOUTH
WEST
SOUTH
NORTH
SOUTH
WEST
SOUTH
WEST
EAST
WEST
NORTH
SOUTH
EAST
WEST
SOUTH
NORTH
EAST
NORTH
WEST
NORTH
EAST
SOUTH
WEST
SOUTH
EAST
NORTH
SOUTH
NORTH
WEST
NORTH
WEST
EAST
SOUTH
WEST
SOUTH
NORTH
SOUTH
EAST
SOUTH
NORTH
EAST
SOUTH
EAST
NORTH
WEST
SOUTH
EAST
WEST
NORTH
WEST
EAST
SOUTH
EAST
NORTH
SOUTH
NORTH
WEST
SOUTH
EAST
NORTH
EAST
WEST
SOUTH
EAST
NORTH
SOUTH
WEST
SOUTH
WEST
SOUTH
NORTH
SOUTH
EAST
SOUTH
WEST
NORTH
EAST
SOUTH
EAST
SOUTH
EAST
SOUTH
NORTH
SOUTH
EAST
WEST
NORTH
EAST
SOUTH
NORTH
EAST
SOUTH
NORTH
WEST
SOUTH
WEST
SOUTH
EAST
NORTH
SOUTH
WEST
NORTH
EAST
SOUTH
EAST
NORTH
WEST
SOUTH
NORTH
WEST
EAST
SOUTH
EAST
WEST
EAST
WEST
NORTH
WEST
SOUTH
EAST
SOUTH
EAST
SOUTH
EAST
WEST
NORTH
EAST
SOUTH
WEST
EAST
WEST
SOUTH
WEST
SOUTH
WEST
NORTH
SOUTH
NORTH
SOUTH
WEST
NORTH
SOUTH
WEST
SOUTH
WEST
NORTH
WEST
SOUTH
NORTH
SOUTH
NORTH
EAST
WEST
EAST
SOUTH
WEST
NORTH
EAST
SOUTH
WEST
EAST
WEST
SOUTH
WEST
SOUTH
WEST
SOUTH
NORTH
WEST
EAST
NORTH
EAST
NORTH
WEST
SOUTH
NORTH
WEST
SOUTH
NORTH
EAST
WEST
SOUTH
EAST
SOUTH
NORTH
WEST
NORTH
SOUTH
WEST
NORTH
SOUTH
EAST
NORTH
EAST
NORTH
WEST
EAST
SOUTH
WEST
SOUTH
NORTH
EAST
NORTH
EAST
SOUTH
NORTH
EAST
NORTH
SOUTH
NORTH
EAST
SOUTH
NORTH
EAST
NORTH
SOUTH
NORTH
EAST
SOUTH
EAST
SOUTH
NORTH
SOUTH
EAST
SOUTH
WEST
EAST
SOUTH
EAST
SOUTH
EAST
NORTH
WEST
EAST
SOUTH
EAST
WEST
NORTH
SOUTH
WEST
NORTH
WEST
SOUTH
WEST
SOUTH
WEST
NORTH
EAST
WEST
SOUTH
WEST
EAST
WEST
SOUTH
NORTH
SOUTH
WEST
EAST
NORTH
WEST
SOUTH
NORTH
SOUTH
WEST
NORTH
EAST
WEST
EAST
SOUTH
WEST
SOUTH
NORTH
WEST
SOUTH
WEST
EAST
SOUTH
EAST
WEST
SOUTH
EAST
NORTH
SOUTH
WEST
NORTH
EAST
WEST
SOUTH
WEST
SOUTH
WEST
SOUTH
WEST
EAST
SOUTH
EAST
SOUTH
WEST
EAST
NORTH
WEST
EAST
WEST
SOUTH
EAST
NORTH
EAST
NORTH
SOUTH
WEST
SOUTH
NORTH
SOUTH
NORTH
WEST
SOUTH
EAST
SOUTH
NORTH
WEST
NORTH
EAST
WEST
SOUTH
EAST
WEST
EAST
WEST
EAST
WEST
EAST
SOUTH
NORTH
EAST
SOUTH
WEST
EAST
WEST
SOUTH
EAST
WEST
SOUTH
NORTH
SOUTH
WEST
SOUTH
EAST
SOUTH
NORTH
EAST
WEST
SOUTH
WEST
EAST
SOUTH
EAST
WEST
EAST
SOUTH
NORTH
WEST
NORTH
SOUTH
WEST
SOUTH
NORTH
EAST
SOUTH
WEST
NORTH
SOUTH
NORTH
WEST
NORTH
EAST
SOUTH
WEST
SOUTH
NORTH
WEST
SOUTH
WEST
NORTH
WEST
EAST
SOUTH
NORTH
EAST
SOUTH
EAST
SOUTH
WEST
NORTH
EAST
SOUTH
NORTH
WEST
NORTH
SOUTH
WEST
NORTH
WEST
SOUTH
NORTH
EAST
SOUTH
EAST
WEST
NORTH
EAST
WEST
NORTH
WEST
SOUTH
NORTH
WEST
EAST
WEST
EAST
SOUTH
WEST
EAST
SOUTH
NORTH
SOUTH
NORTH
WEST
SOUTH
NORTH
SOUTH
EAST
NORTH
WEST
EAST
NORTH
WEST
EAST
NORTH
WEST
NORTH
EAST
SOUTH
NORTH
WEST
EAST
SOUTH
EAST
WEST
SOUTH
EAST
WEST
EAST
SOUTH
EAST
WEST
NORTH
SOUTH
NORTH
SOUTH
NORTH
SOUTH
EAST
WEST
SOUTH
EAST
NORTH
EAST
SOUTH
EAST
WEST
NORTH
SOUTH
WEST
NORTH
WEST
NORTH
SOUTH
WEST
EAST
NORTH
WEST
SOUTH
WEST
SOUTH
EAST
NORTH
SOUTH
EAST
SOUTH
WEST
NORTH
SOUTH
NORTH
WEST
SOUTH
NORTH
EAST
WEST
SOUTH
EAST
WEST
SOUTH
WEST
NORTH
WEST
SOUTH
EAST
SOUTH
WEST
NORTH
WEST
EAST
NORTH
EAST
NORTH
SOUTH
NORTH
EAST
NORTH
WEST
SOUTH
WEST
EAST
NORTH
WEST
EAST
SOUTH
NORTH
SOUTH
WEST
SOUTH
EAST
WEST
EAST
NORTH
WEST
SOUTH
EAST
NORTH
WEST
SOUTH
EAST
WEST
NORTH
WEST
SOUTH
NORTH
EAST
NORTH
WEST
EAST
NORTH
SOUTH
EAST
SOUTH
EAST
WEST
EAST
SOUTH
EAST
NORTH
SOUTH
EAST
SOUTH
WEST
SOUTH
NORTH
SOUTH
WEST
NORTH
WEST
EAST
SOUTH
EAST
WEST
NORTH
WEST
SOUTH
EAST
SOUTH
WEST
EAST
NORTH
WEST
EAST
WEST
NORTH
WEST
EAST
SOUTH
NORTH
EAST
SOUTH
WEST
SOUTH
WEST
SOUTH
WEST
NORTH
WEST
NORTH
WEST
SOUTH
NORTH
WEST
NORTH
EAST
SOUTH
WEST
SOUTH
NORTH
SOUTH
WEST
NORTH
EAST
SOUTH
EAST
WEST
EAST
NORTH
WEST
SOUTH
WEST
NORTH
EAST
SOUTH
WEST
SOUTH
WEST
SOUTH
WEST
EAST
WEST
EAST
WEST
NORTH
WEST
EAST
SOUTH
NORTH
SOUTH
NORTH
EAST
NORTH
EAST
NORTH
WEST
NORTH
EAST
SOUTH
NORTH
SOUTH
NORTH
WEST
NORTH
SOUTH
WEST
NORTH
EAST
NORTH
WEST
EAST
SOUTH
WEST
SOUTH
NORTH
SOUTH
WEST
NORTH
SOUTH
EAST
SOUTH
NORTH
WEST
NORTH
SOUTH
WEST
SOUTH
EAST
SOUTH
NORTH
SOUTH
NORTH
SOUTH
NORTH
EAST
WEST
NORTH
SOUTH
NORTH
WEST
SOUTH
NORTH
EAST
SOUTH
NORTH
WEST
NORTH
SOUTH
NORTH
EAST
NORTH
EAST
NORTH
SOUTH
WEST
EAST
SOUTH
NORTH
WEST
EAST
WEST
SOUTH
WEST
EAST
SOUTH
EAST
SOUTH
EAST
SOUTH
WEST
EAST
WEST
EAST
NORTH
WEST
NORTH
WEST
SOUTH

  • 2.out
..XXXXX.X..X..X...X...XX....XXX...XX..X.XX.X..X..X
X.X.......X.X.X...X.....X**.......X..XXX.X.XX.X.XX
..X***X**.XX......X.X..X.X*XX**...X....XXX....XXX.
*..*X*.*X....X.XXX...X.X..*..**..X.*XX.........X..
*X.*X*.*.X*X....X.XXX..X*****X*.X..XXX***.X....XXX
*X.*X*X*X.X..X.XXXX..X.X****X.X...X.X.X**.X..X..X.
*..X.*X*...X.XXX.X....XXX**XX.X..X.XX..**..XX..XX.
X*.X**.XX.X...X.....XX...*X.X...X..XX****X.X.XX.XX
.*..**..XX.**..XX.XX..****X...X.XXXX.****....XX..X
XX**X**..XX*X.XX.XXX**X***..XX...X..**X*X***....XX
..*XX*X*.XXX..XX.XXX**.*X**...XX..XX**.X.X**......
***.X*X*....*..X.X.X*X**X*X*.XXXX.X.*X.X..XX.XXXXX
*X*.X*.***X***..X...X.**.*.*...XXX.**.XX.X.X..X..X
*.*.XXXX**X*X*..X*X.X*X*X**X...XX.*X*...X.X..X.X..
*XX.....**.XX*.X.*X..*X*X*X..XXX.**.**.X....XX..XX
X..*XX*.X*.X.*...*X*.XX*.*XX..XX**X**X..XX.....X..
.***..X..XX.XX*.XX.*...*.*XXX...X*X**X..XXX.....XX
XXX*XX.X.....X*..XX*****XX...*X..*X**.XX.XX..XX...
...*...X*..X..*X..XX*X**..X*X*.***.**X...X.XXXX..X
X*X***..*.XXXXXX*...*.X*.X.*X*****.X*..XXXX.XX....
XX.X*****.......***.XX.XX.**.*XXX*X.X.X..XX.X....X
X.X.**X***X********...X.XXX*.*X.X*...X....X.X...X.
....*X.XXX.X*****X*X*...X.X*.*X..**.X.X.XX.X...X.X
XX..X.X.....****X.*X***.X..X.X.*X**....X.XX..XX.XX
...XX..XX*X*X*XX.X*.*X*....X.X.XX*X***.X.X..X..XXX
..X.X....XXX.*X...*.XX*X*.X.X....X.XXX....*....X..
X.X..X*X....**.**X*...*.*.X.XX.XX..XX.X*X*X**.X...
X.XX..*.X*****XX*.**X*XXX...........X.XXXXX*X...X.
..XX**X..X****..X.**.XX.XX*..X...X.X.....XX*.X*.XX
.X.X**X*..****X...XXXX..X.*X..XXX..X***.X.X*..*.X.
XXX.**XX******.XXX.X.XX...*..XX..XXXX**....***X...
X.X.X*..*X****XXX.X....X.XXXX.X*.....X**.XXX*XX*..
X.X..*X.XXX***..XX...XXX.......XX*X*..X*..X.X..*..
.XX..*XX.XXXXX*...*.XXX.*.....X..*.**..**.X..XXXXX
X..XXX...X..XX***X*.....X..X.X.*****XXXXX..X..X...
X..XX..XX..X..*X*X*X**...XXXXXX*X*X*.....*..*..*..
..X...XX.X....X.X.*.*X*X......XXX*.X*X**.X..X.XX..
....X.....X.X.X.XX***.*.X*X**....*..*.**..XXX..X.X
.....XX.X..XXXX.X.***X*.X*.X****X*X***XXX...XXXX.X
XX.X........X..XX****.*..*XXX*X*.*.X*X....XXX.X.X.
X...XXX......*.XX*XX*X****..XX.*.*X.*.X**....X....
X..X..XXX*XX**..X*..*.X***..X..*.*XX*..*****..**.X
.....XX.XXXX*XX..*XX*X.XX*.XX..XX*X.XX**XXX***X*..
........XX..XXX*.X..X...X*X.X.X..XXXXX**.XX***.*..
X..X.XX.XX.XXXX*..X.X.XX.*XX...X....X.**...*****.X
.XX...XX..XX...**....X..**XX*X.X.X..XXXXXX***X**..
X...XX.X...X*XXXX**.XX****X.*...XX.......X*XXX*X..
..X.XXX..X.X*...X**...****.*XX....X.....X.XX.X*...
...XX.X.X.X.*..X.XX*******X*....XX........XXX.XXXX
.....XX.X.XX*XX.XX.X**X**X.*.X....X...XX..X..X...X

由于我没跑出来第二个点,或许有人愿意帮我跑跑,我再分析一下错误>?
或者您足够苣,愿意帮我代码查查错>?

#include <stdio.h>
#include <string>
#include <iostream>
#define maxn 55
using namespace std;

int map[maxn][maxn];
int x, y, num;  //x : 列长 y : 行宽 num : 方向数
int sx, sy;  //start x, y
string str;
int ddx[100], ddy[100];
int dx[1000 + 6], dy[1000 + 6];

void dfs(int xx, int yy, int step);
int main()
{
    cin >> x >> y;
    getchar();
    for (int i = 1;i <= x;i++)
        for (int j = 1;j <= y + 1;j++)  //这里 y + 1 是为了吃掉行末回车
        {
            map[i][j] = getchar();
            if (map[i][j] == '*')
            {
                map[i][j] = '.';
                sx = i; sy = j;
            }
        }


    {
        ddx['N'] = -1, ddy['N'] = 0;
        ddx['S'] = +1, ddy['S'] = 0;
        ddx['E'] = 0, ddy['E'] = +1;
        ddx['W'] = 0, ddy['W'] = -1;
    }
    cin >> num;
    for (int i = 1;i <= num;i++)
    {
        cin >> str;
        dx[i] = ddx[str[0]];
        dy[i] = ddy[str[0]];
    }


    dfs(sx, sy, 1);
    
    for (int i = 1;i <= x;i++)
        for (int j = 1;j <= y + 1;j++)  //先前读入过回车,一并输出
            putchar(map[i][j]);
    return 0;
}

void dfs(int xx, int yy, int step)
{
    if (step == num + 1)
    {
        //没有新的方向了,即,到终点了,终点即是此步起点
        map[xx][yy] = '*';
        return;
    }
    int i = 1;
    while (xx + dx[step] * i <= x && xx + dx[step] * i >= 1
        && yy + dy[step] * i <= y && yy + dy[step] * i >= 1 )
    {
        //下一步在范围内 并且 不是障碍物(原来写的是[ == '.'])
        //一直符合要求就在这个方向上一直走
        if (map[xx + dx[step] * i][yy + dy[step] * i] != 'X')
            dfs(xx + dx[step] * i, yy + dy[step] * i, step + 1);
        else
            break;  //被阻断则停止
        i++;
    }
    return;
}
2020/8/21 01:38
加载中...