Submission #2698008


Source Code Expand

package C;

import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;

class Pair
{
	int i, j;

	public Pair(int i, int j)
	{
		this.i = i;
		this.j = j;
	}
}

public class Main
{
	static int R, C, si, sj, gi, gj;
	static char[][] grid;
	static int[][] d;
	static int[] di =
		{ -1, 0, 1, 0 };
	static int[] dj =
		{ 0, 1, 0, -1 };

	//[i][j]
	//U: [i-1][j] = [i + di[0]][j + dj[0]]
	//R: [i][j+1] = [i + di[1]][j + dj[1]]
	//D: [i+1][j]
	//L: [i][j-1]

	static int bfs()
	{
		Pair start = new Pair(si, sj);
		//キューをつくる
		Queue<Pair> que = new LinkedList<Pair>();
		//初期状態をキューにいれる
		que.add(start);
		while (!que.isEmpty())
		{
			//現状態を取り出す
			Pair now = que.poll();
			for (int k = 0; k < 4; k++)
			{
				int ni = now.i + di[k];
				int nj = now.j + dj[k];
				if (grid[ni][nj] == '.'
						&& d[ni][nj] == 0)
				{
					d[ni][nj] = d[now.i][now.j] + 1;
					Pair next = new Pair(ni, nj);
					que.add(next);
				}
			}
		}
		return d[gi][gj];
	}

	public static void main(String[] args)
	{
		Scanner in = new Scanner(System.in);
		R = in.nextInt();
		C = in.nextInt();
		si = in.nextInt() - 1;
		sj = in.nextInt() - 1;
		gi = in.nextInt() - 1;
		gj = in.nextInt() - 1;
		grid = new char[R][C];
		d = new int[R][C];
		for (int i = 0; i < R; i++)
		{
			String str = in.next();
			for (int j = 0; j < C; j++)
			{
				grid[i][j] = str.charAt(j);
			}
		}
		System.out.println(bfs());
		in.close();
	}
}

Submission Info

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

Compile Error

./Main.cpp:1:1: error: ‘package’ does not name a type
 package C;
 ^
./Main.cpp:3:1: error: ‘import’ does not name a type
 import java.util.LinkedList;
 ^
./Main.cpp:4:1: error: ‘import’ does not name a type
 import java.util.Queue;
 ^
./Main.cpp:5:1: error: ‘import’ does not name a type
 import java.util.Scanner;
 ^
./Main.cpp:11:9: error: expected ‘:’ before ‘Pair’
  public Pair(int i, int j)
         ^
./Main.cpp:16:1: error: expected ‘;’ after class definition
 }
 ^
./Main.cpp: In constructor ‘Pair::Pair(int, int)’:
./Main.cpp:13:8: error: request for member ‘i’ in ‘(Pair*)this’, which is of pointer type ‘Pair*’ (maybe you meant to use ‘->’ ?)
   this.i = i;
        ^
./Main.cpp:14:8: error: request for member ‘j’ in ‘(Pair*)this’, which is of pointer type ‘Pair*’ (maybe you meant to use ‘->’ ?)
   this.j = j;
        ^
./Main.cpp: At global scope:
./Main.cpp:18:1: error: expected unqualified-id before ‘public’
 public class Main
 ^