Submission #1365816
Source Code Expand
//ABC07 C #include <iostream> #include <deque> using namespace std; inline int getindex(int r, int c, int C) { return C * (r-1) + (c-1); } #define MAX 2500 int main() { int R, C; int sy, sx; int gy, gx; int map[MAX]; int *mapx[50]; cin >> R >> C >> sy >> sx >> gy >> gx; for (int r = 0; r < R; r++) { mapx[r] = &map[C*r]; char str[51]; cin >> str; for (int c = 0; c < C; c++) { if (str[c] == '#') map[C * r + c] = -1; else map[C * r + c] = 0; } } //for (int r = 0; r < R; r++) { // for (int c = 0; c < C; c++) { // cout << mapx[r][c] << "\t"; // } // cout << endl; //} deque<int> list; list.push_back(getindex(sy, sx,C)); mapx[sy-1][sx-1] = 1; int golindex = getindex(gy, gx, C); while (list.front() != golindex) { int target = list.front(); list.pop_front(); int level = map[target] + 1; if (map[target -1] == 0) { list.push_back(target - 1); map[target -1] = level; } if (map[target + 1] == 0) { list.push_back(target + 1); map[target + 1] = level; } if (map[target - C] == 0) { list.push_back(target - C); map[target - C] = level; } if (map[target + C] == 0) { list.push_back(target + C); map[target + C] = level; } } cout << map[list.front()] - 1 << endl; /*for (int r = 0; r < R; r++) { for (int c = 0; c < C; c++) { cout << mapx[r][c] << "\t"; } cout << endl; } */ return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 幅優先探索 |
User | tacchan_net |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1505 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 |