Untitled
unknown
plain_text
a year ago
1.7 kB
9
Indexable
package bfs.Ldgame;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Iterator;
import java.util.Scanner;
public class Solution {
static Ld[] l;
static int[][] map;
static int n, b, m;
public static void main(String[] args) throws Exception {
for (int tc = 1; tc <= 10; tc++) {
n = sc.nextInt();
b = sc.nextInt();
m = sc.nextInt();
map = new int[n + 1][n + 1];
l = new Ld[m + 1];
for (int i = 1; i <= m; i++) {
int x = sc.nextInt();
int y = sc.nextInt();
int x1 = sc.nextInt();
int y1 = sc.nextInt();
Hole h1 = new Hole(x, y);
Hole h2 = new Hole(x1, y1);
l[i] = new Ld(h1, h2);
map[x][y] = 1;
map[x1][y1] = 1;
}
for (int i = 1; i <= n; i++) {
found = false;
dfs(1, i);
if (found) {
System.out.println(i + " ");
}
}
}
}
static boolean found = false;
private static void dfs(int x, int y) {
if (found)
return;
if (x == n) {
if (y == b) {
found = true;
}
return;
}
if (map[x][y] == 1) {
int yy = getHole(x, y);
dfs(x + 1, yy);
} else {
dfs(x + 1, y);
}
}
private static int getHole(int x, int y) {
for (int i = 1; i <= m; i++) {
if (x == l[i].h1.x && y == l[i].h1.y) {
return l[i].h2.y;
}
if (x == l[i].h2.x && y == l[i].h2.y) {
return l[i].h1.y;
}
}
return y;
}
static class Hole {
int x, y;
public Hole(int x, int y) {
this.x = x;
this.y = y;
}
}
static class Ld {
Hole h1, h2;
public Ld(Hole h1, Hole h2) {
this.h1 = h1;
this.h2 = h2;
}
}
}
Editor is loading...
Leave a Comment