Submission #162538
Source Code Expand
//include----------------------------------------------------------------------------------------------------------------------
#include <bits/stdc++.h>
//using namespace--------------------------------------------------------------------------------------------------------------
using namespace std;
//define-----------------------------------------------------------------------------------------------------------------------
#define rep(i, n) for(int i = 0; i < n; i++)
#define FOR(i, s, n) for(int i = s; i < n; i++)
#define per(i, n) for(int i = n; i >= 0; i--)
#define ROF(i, s, n) for(int i = s; i >= n; i--)
#define FORIT(i, A) for (auto i : A)
#define PRINT(x) cout << (x) << endl
#define ALL(a) (a).begin(),(a).end()
#define RALL(a) (a).rbegin(), (a).rend()
#define PB push_back
#define MP make_pair
#define FOREACH(i, n) for (__typeof((n).begin()) i = (n).begin(); i != (n).end(); ++i)
#define SZ(a) int((a).size())
#define EACH(i,c) for(typeof((c).begin()) i=(c).begin(); i!=(c).end(); ++i)
#define EXIST(s,e) ((s).find(e)!=(s).end())
#define SORT(c) sort((c).begin(),(c).end())
#define INF 1 << 25
#define CLR(a) memset((a), 0 ,sizeof(a))
#define dump(x) cerr << #x << " = " << (x) << endl;
#define debug(x) cerr << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl;
#define sq(n) (n) * (n)
//typedef----------------------------------------------------------------------------------------------------------------------
typedef vector<int> VI;
typedef vector<VI> VVI;
typedef vector<string> VS;
typedef pair<int, int> PII;
typedef long long LL;
typedef unsigned int uint;
typedef unsigned long long ull;
//const------------------------------------------------------------------------------------------------------------------------
const double EPS = 1e-10;
const double PI = acos( -1.0 );
//global-----------------------------------------------------------------------------------------------------------------------
int n, m;
int start_x, start_y;
int goal_x, goal_y;
bool yet[ 53 ][ 53 ];
char a[ 53 ][ 53 ];
queue<int> x;
queue<int> y;
int road[ 53 ][ 53 ];
int x_sum[ 4 ] = { -1, 1, 0, 0 };
int y_sum[ 4 ] = { 0, 0, -1, 1 };
//function---------------------------------------------------------------------------------------------------------------------
int main() {
scanf( "%d %d", &n, &m );
scanf( "%d %d", &start_x, &start_y );
start_x--;
start_y--;
scanf( "%d %d", &goal_x, &goal_y );
goal_x--;
goal_y--;
rep( i, n ) {
scanf( "%s", a[ i ] );
}
rep( i, n) {
rep( j, m) {
road[ i ][ j ] = INF;
}
}
int now_x;
int now_y;
bool judge = false;
road[ start_x ][ start_y ] = 0;
x.push( start_x );
y.push( start_y );
while ( !x.empty() && !y.empty() ) {
now_x = x.front();
now_y = y.front();
x.pop();
y.pop();
rep( i, 4 ) {
if ( road[ now_x + x_sum[ i ] ][ now_y + y_sum[ i ] ] == INF && a[ now_x + x_sum[ i ] ][ now_y + y_sum[ i ] ] == '.' ) {
x.push( now_x + x_sum[ i ] );
y.push( now_y + y_sum[ i ] );
road[ now_x + x_sum[ i ] ][ now_y + y_sum[ i ] ] = road[ now_x ][ now_y ] + 1;
if ( now_x + x_sum[ i ] == goal_x && now_y + y_sum[ i ] == goal_y ) {
judge = true;
break;
}
}
if ( judge )
break;
}
}
PRINT( road[ goal_x ][ goal_y ] );
return 0;
}
Submission Info
Submission Time
2014-04-19 21:49:50+0900
Task
C - 幅優先探索
User
stone725
Language
C++ (G++ 4.6.4)
Score
100
Code Size
3376 Byte
Status
AC
Exec Time
23 ms
Memory
924 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:56:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:57:38: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:60:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:64:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
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
21 ms
916 KB
subtask0_sample02.txt
AC
21 ms
892 KB
subtask0_sample03.txt
AC
21 ms
920 KB
subtask1_01.txt
AC
21 ms
920 KB
subtask1_02.txt
AC
21 ms
916 KB
subtask1_03.txt
AC
22 ms
916 KB
subtask1_04.txt
AC
21 ms
924 KB
subtask1_05.txt
AC
22 ms
924 KB
subtask1_06.txt
AC
22 ms
920 KB
subtask1_07.txt
AC
21 ms
920 KB
subtask1_08.txt
AC
21 ms
916 KB
subtask1_09.txt
AC
22 ms
916 KB
subtask1_10.txt
AC
22 ms
924 KB
subtask1_11.txt
AC
22 ms
924 KB
subtask1_12.txt
AC
23 ms
828 KB
subtask1_13.txt
AC
22 ms
920 KB
subtask1_14.txt
AC
22 ms
924 KB
subtask1_15.txt
AC
22 ms
924 KB
subtask1_16.txt
AC
22 ms
924 KB
subtask1_17.txt
AC
22 ms
924 KB
subtask1_18.txt
AC
21 ms
924 KB
subtask1_19.txt
AC
22 ms
916 KB
subtask1_20.txt
AC
22 ms
924 KB
subtask1_21.txt
AC
22 ms
924 KB
subtask1_22.txt
AC
22 ms
920 KB