Submission #1692127
Source Code Expand
#include<iostream> #include<string> #include<string.h> #include<algorithm> #include<stdio.h> #include<cmath> #include<vector> #include<utility> #include<stack> #include<queue> #include<list> #define FOR(i, a, b) for(int i=(a);i<=(b);i++) #define RFOR(i, a, b) for(int i=(a);i>=(b);i--) #define MOD 1000000007 #define INF 1000000000 using namespace std; int main(void) { int r, c; int now; int place; queue<int> que; int sy, sx, gy, gx; int posx, posy; char ch[51][51]; int dp[51][51]; FOR(i, 0, 50) { FOR(t, 0, 50) { dp[i][t] = INF; } } cin >> r >> c; cin >> sy >> sx; cin >> gy >> gx; FOR(i, 1, r) { cin >> ch[i]; } place = sx + (sy - 1)*c-1; dp[sy][sx - 1] = 0; que.push(place); while (que.empty() == 0) { now = que.front(); que.pop(); posy = now / c+1; posx = now - ((posy-1)*c); if (ch[posy][posx+1] == '.'&&dp[posy][posx+1] ==INF) { dp[posy][posx + 1] = dp[posy][posx]+1; que.push(now + 1); } if (ch[posy][posx - 1] == '.'&&dp[posy][posx - 1] == INF) { dp[posy][posx - 1] = dp[posy][posx] + 1; que.push(now - 1); } if (ch[posy + 1][posx] == '.'&&dp[posy + 1][posx] == INF) { dp[posy + 1][posx] = dp[posy][posx] + 1; que.push(now +c); } if (ch[posy - 1][posx] == '.'&&dp[posy - 1][posx] == INF) { dp[posy - 1][posx] = dp[posy][posx] + 1; que.push(now -c); } } cout << dp[gy][gx-1] << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 幅優先探索 |
User | yukiteru |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1459 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt |
All | subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.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, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0_sample01.txt | AC | 1 ms | 256 KB |
subtask0_sample02.txt | AC | 1 ms | 256 KB |
subtask0_sample03.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 |
subtask1_16.txt | AC | 1 ms | 256 KB |
subtask1_17.txt | AC | 1 ms | 256 KB |
subtask1_18.txt | AC | 1 ms | 256 KB |
subtask1_19.txt | AC | 1 ms | 256 KB |
subtask1_20.txt | AC | 1 ms | 256 KB |
subtask1_21.txt | AC | 1 ms | 256 KB |
subtask1_22.txt | AC | 1 ms | 256 KB |