Submission #382543

#TimeUsernameProblemLanguageResultExecution timeMemory
382543vijayTales of seafaring (POI13_mor)Java
20 / 100
2124 ms131072 KiB
import java.io.*; import java.util.*; public class mor { static ArrayList<Integer>[] adj; public static void main(String[] args) throws IOException, FileNotFoundException { // Scanner in = new Scanner(new File("seafaring.in")); Scanner in = new Scanner(System.in); int N = in.nextInt(); int M = in.nextInt(); int K = in.nextInt(); adj = new ArrayList[N]; for(int i = 0; i < N; i++){ adj[i] = new ArrayList<>(); } for(int i = 0; i < M; i++){ int a = in.nextInt() - 1; int b = in.nextInt() - 1; adj[a].add(b); adj[b].add(a); } // check what the minimum odd path is and the minimum even path is int[][][] dp = new int[N][N][2]; boolean[][][] visited = new boolean[N][N][2]; for(int i = 0; i < N; i++){ for(int j = 0; j < N; j++){ Arrays.fill(dp[i][j], 1000000); } } for(int i = 0; i < N; i++){ PriorityQueue<State> pq = new PriorityQueue<>(); pq.add(new State(i, 0)); while(!pq.isEmpty()){ State curr = pq.poll(); if(visited[i][curr.position][curr.distance % 2]){ continue; } visited[i][curr.position][curr.distance % 2] = true; dp[i][curr.position][curr.distance % 2] = curr.distance; for(int ap: adj[curr.position]){ pq.add(new State(ap, curr.distance + 1)); } } } for(int i = 0; i < K; i++){ int start = in.nextInt() - 1; int end = in.nextInt() - 1; int dist = in.nextInt(); // System.out.println(Arrays.toString(distances[start][end])); if(dp[start][end][dist % 2] <= dist && dp[start][end][dist % 2] != 1000000){ System.out.println("TAK"); } else { System.out.println("NIE"); } } } public static class State implements Comparable<State>{ int position; int distance; public State(int position, int distance){ this.position = position; this.distance = distance; } public int compareTo(State s){ return distance - s.distance; } } }

Compilation message (stderr)

Note: mor.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...