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 |
|
|
|
|
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 |