Submission #3417974
Source Code Expand
#include<bits/stdc++.h> #define INF -1 #define F first #define S second using namespace std; typedef pair<int,int> P; int R,C; char c[55][55]; int mp[55][55]; int dx[4]={1,0,-1,0}; int dy[4]={0,1,0,-1}; int bfs(int sy,int sx,int gy,int gx){ queue<P> que; que.push(make_pair(sy,sx)); mp[sy][sx]=0; while(!que.empty()){ P p = que.front(); que.pop(); for(int i=0;i<4;i++){ int nx = dx[i] + p.S, ny = dy[i] + p.F; if(nx < 0 || nx >= C || ny < 0 || ny >= R || c[ny][nx]=='#') continue; if(mp[ny][nx]==INF){ mp[ny][nx]=mp[p.F][p.S]+1; que.push(make_pair(ny,nx)); } else if(mp[ny][nx]>mp[p.F][p.S]+1){ mp[ny][nx]=mp[p.F][p.S]+1; que.push(make_pair(ny,nx)); } } } return mp[gy][gx]; } int main(){ int sy,sx; int gy,gx; cin>>R>>C; cin>>sy>>sx; cin>>gy>>gx; for(int i=0;i<R;i++) for(int j=0;j<C;j++) cin>>c[i][j]; for(int i=0;i<R;i++) for(int j=0;j<C;j++) mp[i][j]=INF; cout<<bfs(sy-1,sx-1,gy-1,gx-1)<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 幅優先探索 |
User | otc3 |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1111 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 |