Submission #1405662


Source Code Expand

#define REP(i,n) for (long long i=0;i<(n);i++)
#include <iostream>
#include <queue>
#include <utility>
using namespace std;
const long long MAX = 100;
const long long INF = 10000000000000;
 
long long N,M,T,X;
long long sx,sy;
long long gx,gy;
char field[MAX][MAX+1];
long long d[MAX][MAX+1];
 
long long dx[4] = {1, 0, -1, 0};
long long dy[4] = {0, 1, 0, -1};
 
typedef pair<long long,long long> P; 
 
long long bfs(){
 
    REP(i,N){
        REP(j,M){
            d[i][j] = INF;
        }
    }
 
    queue <P> que;
    que.push(P(sx,sy));
    d[sx][sy] = 0;
 
    while(que.size()){
        P p = que.front(); que.pop();
 
        if (p.first == gx && p.second == gy){
            break;
        }
 
        // 周辺4マスを調べる
        for(long long r = 0; r < 4; r++) {
            long long nx = p.first + dx[r], ny = p.second + dy[r];
            if (0 <= nx && nx < N && 0 <= ny && ny < M){
                if (field[nx][ny] != '#' && d[p.first][p.second] + 1 <= d[nx][ny]){
                    //cout << "get" << endl;
                    d[nx][ny] = d[p.first][p.second] + 1;
                    que.push(P(nx,ny));
                }else if(field[nx][ny] == '#' && d[p.first][p.second] + X < d[nx][ny]){
                    //cout << "get?" << endl;
                    d[nx][ny] = d[p.first][p.second] + X;
                    que.push(P(nx,ny));
                }
            }
        }
    }
    return d[gx][gy];
}

void solve(){
    long long low = 1;
    long long high = T;
    long long mid;
    while(high - low > 1){
        mid = (low + high)/2;
        X = mid;
        //cout << X << endl;
        if(bfs() <= T){
            low = mid;
        }else{
            high = mid;
        }
    }
    cout << low << endl;
}
 
int main(){
    cin >> N >> M >> T;
    REP(i,N){
        REP(j,M){
            cin >> field[i][j];
            if(field[i][j] == 'S'){
                sx = i; sy = j;
            }else if(field[i][j] == 'G'){
                gx = i; gy = j;
            }
        }
    }
    solve();
}

Submission Info

Submission Time
Task C - 壁抜け
User IKKO_Ohta
Language C++14 (GCC 5.4.1)
Score 40
Code Size 2128 Byte
Status WA
Exec Time 2 ms
Memory 256 KB

Judge Result

Set Name Sample Subtask1 Subtask2 Subtask3
Score / Max Score 0 / 0 40 / 40 0 / 30 0 / 30
Status
AC × 3
AC × 16
AC × 41
WA × 1
AC × 63
WA × 5
Set Name Test Cases
Sample subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt
Subtask1 subtask0_sample_01.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt
Subtask2 subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt, subtask2_31.txt, subtask2_32.txt, subtask2_33.txt, subtask2_34.txt, subtask2_35.txt, subtask2_36.txt, subtask2_37.txt, subtask2_38.txt, subtask2_39.txt, subtask2_40.txt
Subtask3 subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt, subtask2_31.txt, subtask2_32.txt, subtask2_33.txt, subtask2_34.txt, subtask2_35.txt, subtask2_36.txt, subtask2_37.txt, subtask2_38.txt, subtask2_39.txt, subtask2_40.txt, subtask3_41.txt, subtask3_42.txt, subtask3_43.txt, subtask3_44.txt, subtask3_45.txt, subtask3_46.txt, subtask3_47.txt, subtask3_48.txt, subtask3_49.txt, subtask3_50.txt, subtask3_51.txt, subtask3_52.txt, subtask3_53.txt, subtask3_54.txt, subtask3_55.txt, subtask3_56.txt, subtask3_57.txt, subtask3_58.txt, subtask3_59.txt, subtask3_60.txt, subtask3_61.txt, subtask3_62.txt, subtask3_63.txt, subtask3_64.txt, subtask3_65.txt
Case Name Status Exec Time Memory
subtask0_sample_01.txt AC 1 ms 256 KB
subtask0_sample_02.txt AC 1 ms 256 KB
subtask0_sample_03.txt AC 1 ms 256 KB
subtask1_01.txt AC 1 ms 256 KB
subtask1_02.txt AC 1 ms 256 KB
subtask1_03.txt AC 1 ms 256 KB
subtask1_04.txt AC 1 ms 256 KB
subtask1_05.txt AC 1 ms 256 KB
subtask1_06.txt AC 1 ms 256 KB
subtask1_07.txt AC 1 ms 256 KB
subtask1_08.txt AC 1 ms 256 KB
subtask1_09.txt AC 1 ms 256 KB
subtask1_10.txt AC 1 ms 256 KB
subtask1_11.txt AC 1 ms 256 KB
subtask1_12.txt AC 1 ms 256 KB
subtask1_13.txt AC 1 ms 256 KB
subtask1_14.txt AC 1 ms 256 KB
subtask1_15.txt AC 1 ms 256 KB
subtask2_16.txt AC 1 ms 256 KB
subtask2_17.txt AC 1 ms 256 KB
subtask2_18.txt AC 1 ms 256 KB
subtask2_19.txt AC 1 ms 256 KB
subtask2_20.txt AC 1 ms 256 KB
subtask2_21.txt AC 1 ms 256 KB
subtask2_22.txt AC 1 ms 256 KB
subtask2_23.txt AC 1 ms 256 KB
subtask2_24.txt AC 1 ms 256 KB
subtask2_25.txt AC 1 ms 256 KB
subtask2_26.txt AC 1 ms 256 KB
subtask2_27.txt AC 1 ms 256 KB
subtask2_28.txt AC 1 ms 256 KB
subtask2_29.txt AC 1 ms 256 KB
subtask2_30.txt AC 1 ms 256 KB
subtask2_31.txt AC 1 ms 256 KB
subtask2_32.txt AC 1 ms 256 KB
subtask2_33.txt AC 1 ms 256 KB
subtask2_34.txt AC 1 ms 256 KB
subtask2_35.txt WA 1 ms 256 KB
subtask2_36.txt AC 1 ms 256 KB
subtask2_37.txt AC 1 ms 256 KB
subtask2_38.txt AC 1 ms 256 KB
subtask2_39.txt AC 1 ms 256 KB
subtask2_40.txt AC 1 ms 256 KB
subtask3_41.txt AC 1 ms 256 KB
subtask3_42.txt AC 1 ms 256 KB
subtask3_43.txt AC 1 ms 256 KB
subtask3_44.txt AC 1 ms 256 KB
subtask3_45.txt WA 1 ms 256 KB
subtask3_46.txt WA 1 ms 256 KB
subtask3_47.txt WA 1 ms 256 KB
subtask3_48.txt AC 1 ms 256 KB
subtask3_49.txt AC 1 ms 256 KB
subtask3_50.txt AC 1 ms 256 KB
subtask3_51.txt AC 1 ms 256 KB
subtask3_52.txt AC 1 ms 256 KB
subtask3_53.txt WA 1 ms 256 KB
subtask3_54.txt AC 1 ms 256 KB
subtask3_55.txt AC 1 ms 256 KB
subtask3_56.txt AC 1 ms 256 KB
subtask3_57.txt AC 1 ms 256 KB
subtask3_58.txt AC 2 ms 256 KB
subtask3_59.txt AC 1 ms 256 KB
subtask3_60.txt AC 1 ms 256 KB
subtask3_61.txt AC 1 ms 256 KB
subtask3_62.txt AC 1 ms 256 KB
subtask3_63.txt AC 1 ms 256 KB
subtask3_64.txt AC 1 ms 256 KB
subtask3_65.txt AC 1 ms 256 KB