Submission #162594
Source Code Expand
#include <iostream> using namespace std; int map[51][51]; bool next[51][51]; int serch(int y,int x){ int min=9999999; for(int i=-1;i<=1;i+=2){ if(map[y+i][x] <= min && map[y+i][x] >= 0){ min = map[y+i][x]; } if(map[y+i][x] == -1){ map[y+i][x] = -4; } if(map[y][x+i] <= min && map[y][x+i] >= 0){ min = map[y][x+i]; } if(map[y][x+i] == -1){ map[y][x+i] = -4; } } if(min == 9999999){ min = -1; } if(map[y-1][x] == -2 && map[y+1][x] == -2 && map[y][x-1] == -2 && map[y][x+1] == -2){ min = -3; } return min; } int main() { // your code goes here int r,c; int sx,sy; int gx,gy; char s; bool check; int buf; cin >> r >> c; cin >> sy >> sx; cin >> gy >> gx; for(int i=1;i<=r;i++){ for(int j=1;j<=c;j++){ cin >> s; if(s=='#'){ map[i][j] = -2; }else{ map[i][j] = -1; } //cout << map[i][j]; } //cout << endl; } map[sy][sx] = 0; if(map[sy-1][sx] == -1){ map[sy-1][sx] = -4; } if(map[sy][sx-1] == -1){ map[sy][sx-1] = -4; } if(map[sy+1][sx] == -1){ map[sy+1][sx] = -4; } if(map[sy][sx+1] == -1){ map[sy][sx+1] = -4; } while(1){ check = true; for(int i=1;i<=r;i++){ for(int j=1;j<=c;j++){ if(map[i][j] == -4){ buf = serch(i,j); if(buf > -1){ map[i][j] = buf+1; }else{ map[i][j] = -1; } if(buf == -3){ map[i][j] = -3; } check = false; } } } if(check){ break; } } /*for(int i=0;i<r;i++){ for(int j=0;j<c;j++){ if(map[i][j] == -2){ //cout << '*'; }else{ //cout << map[i][j]; } } //cout << endl; }*/ cout << map[gy][gx] << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 幅優先探索 |
User | monman53 |
Language | C++ (G++ 4.6.4) |
Score | 100 |
Code Size | 1765 Byte |
Status | AC |
Exec Time | 26 ms |
Memory | 932 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 | 20 ms | 800 KB |
subtask0_sample02.txt | AC | 21 ms | 928 KB |
subtask0_sample03.txt | AC | 21 ms | 932 KB |
subtask1_01.txt | AC | 22 ms | 796 KB |
subtask1_02.txt | AC | 26 ms | 764 KB |
subtask1_03.txt | AC | 21 ms | 800 KB |
subtask1_04.txt | AC | 21 ms | 928 KB |
subtask1_05.txt | AC | 22 ms | 932 KB |
subtask1_06.txt | AC | 23 ms | 800 KB |
subtask1_07.txt | AC | 22 ms | 928 KB |
subtask1_08.txt | AC | 21 ms | 924 KB |
subtask1_09.txt | AC | 22 ms | 928 KB |
subtask1_10.txt | AC | 22 ms | 924 KB |
subtask1_11.txt | AC | 23 ms | 812 KB |
subtask1_12.txt | AC | 22 ms | 924 KB |
subtask1_13.txt | AC | 24 ms | 768 KB |
subtask1_14.txt | AC | 21 ms | 800 KB |
subtask1_15.txt | AC | 22 ms | 924 KB |
subtask1_16.txt | AC | 24 ms | 748 KB |
subtask1_17.txt | AC | 21 ms | 932 KB |
subtask1_18.txt | AC | 21 ms | 932 KB |
subtask1_19.txt | AC | 22 ms | 792 KB |
subtask1_20.txt | AC | 22 ms | 800 KB |
subtask1_21.txt | AC | 22 ms | 800 KB |
subtask1_22.txt | AC | 23 ms | 924 KB |