Submission #162943


Source Code Expand

//============================================================================
// Name        : abc007c.cpp
// Author      : afterCmidday
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================

#include <iostream>
#include <string>
#include <vector>
#include <queue>
#include <utility>
#include <algorithm>
#define INF 0x3fffffff
using namespace std;

int main() {
	pair<int,int> l, s, g;
	vector<string> vs;
	vector<vector<int> > vv;
	queue<pair<int,int> > qp;

	const int dy[4] = {-1,0,1,0}, dx[4] = {0,1,0,-1};

	cin >> l.first >> l.second;
	cin >> s.first >> s.second;
	cin >> g.first >> g.second;
	s.first--; s.second--;
	g.first--; g.second--;
	cin.get();
	for(int i = 0;i < l.first;i++){
		string in;
		getline(cin,in);
		vs.push_back(in);
		vector<int> v;
		for(int j = 0;j < l.second;j++){
			v.push_back(INF);
		}
		vv.push_back(v);
	}
	vv[s.first][s.second] = 0;
	qp.push(s);
	while(qp.size()){
		pair<int,int> p = qp.front();
		qp.pop();
		for(int i = 0;i < 4;i++){
			if(0 <= p.first + dy[i] && p.first + dy[i] < l.first && 0 <= p.second + dx[i] && p.second + dx[i] < l.second && vv[p.first + dy[i]][p.second + dx[i]] > vv[p.first][p.second] + 1 && vs[p.first + dy[i]][p.second + dx[i]] != '#'){
				vv[p.first + dy[i]][p.second + dx[i]] = vv[p.first][p.second] + 1;
				qp.push(make_pair(p.first + dy[i],p.second + dx[i]));
			}
		}
	}
	cout << vv[g.first][g.second] << endl;

	return 0;
}

Submission Info

Submission Time
Task C - 幅優先探索
User afterCmidday
Language C++ (G++ 4.6.4)
Score 100
Code Size 1587 Byte
Status AC
Exec Time 22 ms
Memory 932 KB

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 796 KB
subtask0_sample02.txt AC 21 ms 804 KB
subtask0_sample03.txt AC 21 ms 812 KB
subtask1_01.txt AC 21 ms 928 KB
subtask1_02.txt AC 21 ms 928 KB
subtask1_03.txt AC 21 ms 804 KB
subtask1_04.txt AC 21 ms 920 KB
subtask1_05.txt AC 21 ms 924 KB
subtask1_06.txt AC 21 ms 808 KB
subtask1_07.txt AC 21 ms 744 KB
subtask1_08.txt AC 20 ms 800 KB
subtask1_09.txt AC 21 ms 932 KB
subtask1_10.txt AC 21 ms 932 KB
subtask1_11.txt AC 21 ms 920 KB
subtask1_12.txt AC 21 ms 928 KB
subtask1_13.txt AC 21 ms 916 KB
subtask1_14.txt AC 22 ms 932 KB
subtask1_15.txt AC 21 ms 928 KB
subtask1_16.txt AC 21 ms 924 KB
subtask1_17.txt AC 21 ms 804 KB
subtask1_18.txt AC 21 ms 928 KB
subtask1_19.txt AC 21 ms 932 KB
subtask1_20.txt AC 21 ms 736 KB
subtask1_21.txt AC 22 ms 804 KB
subtask1_22.txt AC 21 ms 796 KB