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
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
AC × 3
AC × 25
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