Submission #691657


Source Code Expand

using System;
using System.Collections.Generic;
class c{
    public static void Main(){
	string[] input = Console.ReadLine().Split(' ');
	int r = int.Parse(input[0]);
	int c = int.Parse(input[1]);
	input = Console.ReadLine().Split(' ');
	int s_y = int.Parse(input[0])-1;
	int s_x = int.Parse(input[1])-1;
	input = Console.ReadLine().Split(' ');
	int g_y = int.Parse(input[0])-1;
	int g_x = int.Parse(input[1])-1;
 
	char[,] maze = new char[r,c];
 
	Queue<point> q = new  Queue<point>();
	int[,] ans = new int[r,c];
	
	for(int i = 0;i<r;i++){
	    string tmp = Console.ReadLine();
	    for(int j = 0;j<c;j++){
		maze[i,j] = tmp[j];
		if(maze[i,j] == '#')
		    ans[i,j] = -1;
	    }
	}
 
	int[] dx = {0,-1,0,1};
	int[] dy = {-1,0,1,0};
 
	q.Enqueue(new point(s_x,s_y));
	while(q.Count > 0){
	    point tmp = q.Dequeue();
	    int x = tmp.x;
	    int y = tmp.y;
 
	    if(x == g_x&&y == g_y)
		break;
 
	    for(int i = 0;i<4;i++){
		int tmp_x = x+dx[i];
		int tmp_y = y+dy[i];
		if(ans[tmp_y,tmp_x] != -1&&ans[tmp_y,tmp_x] <= 0){
		    q.Enqueue(new point(tmp_x,tmp_y));
		    ans[tmp_y,tmp_x] = ans[y,x] + 1;
		}
		
	    }
	}
 
	
	    
	
	//q.Enqueue(new point(1,1));
	//point a = q.Dequeue();
	//Console.WriteLine("x:{0} y:{1}",a.x,a.y);
	/*
	for(int i = 0;i<r;i++){
	    for(int j = 0;j<c;j++){
		Console.Write("{0} ",ans[i,j]);
	    }
	    Console.WriteLine();
	}
	*/
	Console.WriteLine(ans[g_y,g_x]);
    }
}
class point{
    public int x;
    public int y;
    public point(int a,int b){
	x = a;
	y = b;
    }
}

Submission Info

Submission Time
Task A - 幅優先探索
User rain528
Language C# (Mono 4.6.2.0)
Score 100
Code Size 1591 Byte
Status AC
Exec Time 37 ms
Memory 2904 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 36 ms 2904 KB
subtask0_sample02.txt AC 34 ms 2776 KB
subtask0_sample03.txt AC 35 ms 2904 KB
subtask1_01.txt AC 34 ms 2776 KB
subtask1_02.txt AC 34 ms 2776 KB
subtask1_03.txt AC 36 ms 2776 KB
subtask1_04.txt AC 36 ms 2904 KB
subtask1_05.txt AC 34 ms 2776 KB
subtask1_06.txt AC 37 ms 2776 KB
subtask1_07.txt AC 35 ms 2776 KB
subtask1_08.txt AC 34 ms 2776 KB
subtask1_09.txt AC 34 ms 2776 KB
subtask1_10.txt AC 35 ms 2776 KB
subtask1_11.txt AC 35 ms 2904 KB
subtask1_12.txt AC 34 ms 2776 KB
subtask1_13.txt AC 35 ms 2776 KB
subtask1_14.txt AC 35 ms 2776 KB
subtask1_15.txt AC 35 ms 2776 KB
subtask1_16.txt AC 35 ms 2776 KB
subtask1_17.txt AC 34 ms 2884 KB
subtask1_18.txt AC 35 ms 2884 KB
subtask1_19.txt AC 35 ms 2776 KB
subtask1_20.txt AC 37 ms 2776 KB
subtask1_21.txt AC 35 ms 2776 KB
subtask1_22.txt AC 35 ms 2776 KB