Submission #4309024


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> Pair;
#define MM 1000000000
#define MOD MM+7
#define MAX 10000
#define MAP 51
#define GRAPH 50
int dx[4] = {-1, 0, 1, 0};
int dy[4] = {0, -1, 0, 1};
int n,m;
int R,C;
char c[MAP][MAP];
int dist[MAP][MAP];
Pair s, g;
int bfs(){
    for(int i = 0; i < R; i++){
        for(int j = 0; j < C; j++){
            dist[i][j] = MAX;
        }
    }
    queue<Pair> que;
    que.push(Pair(s.first-1, s.second-1));
    dist[s.first-1][s.second-1] = 0;

    while(que.size()){
        Pair p = que.front();
        que.pop();
        for(int i = 0; i < 4; i++){
            int nx = p.first + dx[i];
            int ny = p.second + dy[i];
            if(dist[nx][ny] == MAX && c[nx][ny] == '.'){
                que.push(nx,ny);
                dist[nx][ny] = dist[p.first][p.second]+1;
            }
        }
    }
    return dist[g.first-1][g.second-1];
}



int main(){
    scanf("%d %d",&R,&C);
    scanf("%d %d",&s.first,&s.second);
    scanf("%d %d",&g.first,&g.second);
    for(int i = 0; i < R; i++){
        for(int j = 0; j < C; j++){
            cin >> c[i][j];
        }
    }
    int ans = bfs();
    cout << ans << endl;
}

Submission Info

Submission Time
Task C - 幅優先探索
User Kant
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1272 Byte
Status CE

Compile Error

./Main.cpp: In function ‘int bfs()’:
./Main.cpp:34:31: error: no matching function for call to ‘std::queue<std::pair<int, int> >::push(int&, int&)’
                 que.push(nx,ny);
                               ^
In file included from /usr/include/c++/5/queue:64:0,
                 from /usr/include/x86_64-linux-gnu/c++/5/bits/stdc++.h:85,
                 from ./Main.cpp:1:
/usr/include/c++/5/bits/stl_queue.h:215:7: note: candidate: void std::queue<_Tp, _Sequence>::push(const value_type&) [with _Tp = std::pair<int, int>; _Sequence = std::deque<std::pair<int, int>, std::allocator<std::pair<int, int> > >; std::queue<_Tp, _Sequence>::value_type = std::pair<int, int>]
       push(const value_type& __x)
       ^
/usr/include/c++/5/bits/stl_queue.h:215:7: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/5/bits/stl_queue.h:220:7: note: candidate: void std::queue<_Tp, _Sequence>::push(std::queue<_Tp, _Sequence>::value_type&&) [with _Tp = std::pair<int, int>; _Sequence = std::deque<std::pair<int, ...