Submission #3764963


Source Code Expand

#include <cstdio>
#include <deque>

using namespace std;

struct point {
    int x;
    int y;
};

struct point operator + (const point& p, const point& q) {
    point result;
    result.x = p.x+q.x; result.y = p.y+q.y;
    return result;
}
bool operator == (const point& p, const point& q) {
    return p.x == q.x && p.y == q.y;
}
bool operator < (const point& p, const point& q) {
    return p.x < q.x || p.y < q.y;
}

int main () {
    point p, g, pn;
    int H, W, i, j;
    point next[4] = {{1,0},{0,1},{-1,0},{0,-1}};
    scanf("%d %d",&H,&W);
    p.x = -1; g.y = -1;
    int d[H][W];
    char map[H][W+1];
    for (i=0; i<H; i++) {
        scanf("%s",map[i]);
        for (j=0; j<W; j++) {
            if (p.x != -1 && g.x != -1) break;
            if (map[i][j] == 's') 
                p = point{i,j};
            else if (map[i][j] == 'g')
                g = point{i,j};
        }
    }
    deque<point> Q;
    map[p.x][p.y] = 'x';
    d[p.x][p.y] = 0;
    Q.push_back(p);
    while (Q.size() != 0) {
        p = Q.front(); Q.pop_front();
        for (i=0; i<4; i++) {
            pn = p + next[i];
            if (pn < point{0,0} || point{H-1,W-1} < pn) continue;
            if (pn == g) {
                printf("YES\n");
                return 0;
            } else if (map[pn.x][pn.y] == '.') {
                map[pn.x][pn.y] = 'x';
                d[pn.x][pn.y] = d[p.x][p.y];
                Q.push_front(pn);
            } else if (map[pn.x][pn.y] == '#' && d[p.x][p.y] < 2) {
                map[pn.x][pn.y] = 'x';
                d[pn.x][pn.y] = d[p.x][p.y] + 1;
                Q.push_back(pn);
            }
        }
    }
    printf("NO\n");
    return 0;
}

Submission Info

Submission Time
Task C - 器物損壊!高橋君
User shugo256
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1748 Byte
Status WA
Exec Time 10 ms
Memory 2560 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:27:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d",&H,&W);
                         ^
./Main.cpp:32:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%s",map[i]);
                           ^

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 58
WA × 25
Set Name Test Cases
All 00_min_01.txt, 00_min_02.txt, 00_min_03.txt, 00_min_04.txt, 00_min_05.txt, 00_min_06.txt, 00_min_07.txt, 00_min_08.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 02_rndhard_00.txt, 02_rndhard_01.txt, 02_rndhard_02.txt, 02_rndhard_03.txt, 02_rndhard_04.txt, 02_rndhard_05.txt, 02_rndhard_06.txt, 02_rndhard_07.txt, 02_rndhard_08.txt, 02_rndhard_09.txt, 02_rndhard_10.txt, 02_rndhard_11.txt, 02_rndhard_12.txt, 02_rndhard_13.txt, 02_rndhard_14.txt, 02_rndhard_15.txt, 02_rndhard_16.txt, 02_rndhard_17.txt, 02_rndhard_18.txt, 02_rndhard_19.txt, 02_rndhard_20.txt, 02_rndhard_21.txt, 02_rndhard_22.txt, 02_rndhard_23.txt, 02_rndhard_24.txt, 02_rndhard_25.txt, 02_rndhard_26.txt, 02_rndhard_27.txt, 02_rndhard_28.txt, 02_rndhard_29.txt, 02_rndhard_30.txt, 02_rndhard_31.txt, 02_rndhard_32.txt, 02_rndhard_33.txt, 02_rndhard_34.txt, 02_rndhard_35.txt, 02_rndhard_36.txt, 02_rndhard_37.txt, 02_rndhard_38.txt, 02_rndhard_39.txt, 03_rndhardsmall_00.txt, 03_rndhardsmall_01.txt, 03_rndhardsmall_02.txt, 03_rndhardsmall_03.txt, 03_rndhardsmall_04.txt, 03_rndhardsmall_05.txt, 03_rndhardsmall_06.txt, 03_rndhardsmall_07.txt, 03_rndhardsmall_08.txt, 03_rndhardsmall_09.txt
Case Name Status Exec Time Memory
00_min_01.txt WA 1 ms 256 KB
00_min_02.txt WA 1 ms 256 KB
00_min_03.txt WA 1 ms 256 KB
00_min_04.txt AC 1 ms 256 KB
00_min_05.txt AC 1 ms 256 KB
00_min_06.txt AC 1 ms 256 KB
00_min_07.txt AC 1 ms 256 KB
00_min_08.txt AC 1 ms 256 KB
00_sample_01.txt WA 1 ms 256 KB
00_sample_02.txt WA 1 ms 256 KB
00_sample_03.txt WA 1 ms 256 KB
00_sample_04.txt WA 1 ms 256 KB
00_sample_05.txt AC 1 ms 256 KB
01_rnd_00.txt AC 2 ms 512 KB
01_rnd_01.txt WA 8 ms 2432 KB
01_rnd_02.txt AC 7 ms 2176 KB
01_rnd_03.txt WA 8 ms 2560 KB
01_rnd_04.txt AC 8 ms 2432 KB
01_rnd_05.txt AC 2 ms 512 KB
01_rnd_06.txt WA 10 ms 2176 KB
01_rnd_07.txt WA 9 ms 2048 KB
01_rnd_08.txt AC 2 ms 512 KB
01_rnd_09.txt AC 2 ms 512 KB
01_rnd_10.txt WA 10 ms 2048 KB
01_rnd_11.txt AC 2 ms 512 KB
01_rnd_12.txt WA 9 ms 2304 KB
01_rnd_13.txt WA 9 ms 2304 KB
01_rnd_14.txt AC 3 ms 1024 KB
01_rnd_15.txt AC 2 ms 1152 KB
01_rnd_16.txt AC 2 ms 512 KB
01_rnd_17.txt WA 10 ms 2176 KB
01_rnd_18.txt AC 2 ms 512 KB
01_rnd_19.txt AC 3 ms 1408 KB
02_rndhard_00.txt AC 3 ms 1152 KB
02_rndhard_01.txt AC 3 ms 1024 KB
02_rndhard_02.txt WA 8 ms 1792 KB
02_rndhard_03.txt AC 7 ms 1664 KB
02_rndhard_04.txt AC 5 ms 1536 KB
02_rndhard_05.txt AC 6 ms 1536 KB
02_rndhard_06.txt AC 5 ms 1536 KB
02_rndhard_07.txt AC 3 ms 1280 KB
02_rndhard_08.txt WA 4 ms 1280 KB
02_rndhard_09.txt AC 4 ms 1280 KB
02_rndhard_10.txt WA 4 ms 1280 KB
02_rndhard_11.txt AC 4 ms 1280 KB
02_rndhard_12.txt AC 3 ms 1152 KB
02_rndhard_13.txt AC 3 ms 1152 KB
02_rndhard_14.txt AC 4 ms 1536 KB
02_rndhard_15.txt AC 4 ms 1536 KB
02_rndhard_16.txt WA 7 ms 1664 KB
02_rndhard_17.txt AC 6 ms 1536 KB
02_rndhard_18.txt AC 3 ms 1024 KB
02_rndhard_19.txt AC 2 ms 896 KB
02_rndhard_20.txt WA 4 ms 1280 KB
02_rndhard_21.txt AC 4 ms 1280 KB
02_rndhard_22.txt WA 3 ms 1280 KB
02_rndhard_23.txt AC 3 ms 1152 KB
02_rndhard_24.txt AC 5 ms 1664 KB
02_rndhard_25.txt AC 4 ms 1280 KB
02_rndhard_26.txt WA 3 ms 1152 KB
02_rndhard_27.txt AC 2 ms 896 KB
02_rndhard_28.txt AC 2 ms 896 KB
02_rndhard_29.txt AC 2 ms 896 KB
02_rndhard_30.txt AC 2 ms 640 KB
02_rndhard_31.txt AC 2 ms 640 KB
02_rndhard_32.txt WA 6 ms 1536 KB
02_rndhard_33.txt AC 4 ms 1408 KB
02_rndhard_34.txt AC 4 ms 1280 KB
02_rndhard_35.txt AC 5 ms 1408 KB
02_rndhard_36.txt AC 3 ms 1536 KB
02_rndhard_37.txt AC 4 ms 1408 KB
02_rndhard_38.txt WA 4 ms 1408 KB
02_rndhard_39.txt AC 4 ms 1408 KB
03_rndhardsmall_00.txt AC 1 ms 256 KB
03_rndhardsmall_01.txt AC 1 ms 256 KB
03_rndhardsmall_02.txt AC 1 ms 256 KB
03_rndhardsmall_03.txt AC 1 ms 256 KB
03_rndhardsmall_04.txt AC 1 ms 256 KB
03_rndhardsmall_05.txt AC 1 ms 256 KB
03_rndhardsmall_06.txt WA 1 ms 256 KB
03_rndhardsmall_07.txt AC 1 ms 256 KB
03_rndhardsmall_08.txt AC 1 ms 256 KB
03_rndhardsmall_09.txt AC 1 ms 256 KB