Task: | Brexit |
Sender: | TEAM-Patonki |
Submission time: | 2017-10-03 18:25:22 +0300 |
Language: | Java |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.13 s | details |
#2 | ACCEPTED | 0.12 s | details |
#3 | ACCEPTED | 0.12 s | details |
#4 | ACCEPTED | 0.11 s | details |
#5 | ACCEPTED | 0.12 s | details |
#6 | ACCEPTED | 0.10 s | details |
#7 | ACCEPTED | 0.12 s | details |
#8 | ACCEPTED | 0.14 s | details |
#9 | ACCEPTED | 0.13 s | details |
#10 | ACCEPTED | 0.13 s | details |
#11 | ACCEPTED | 0.11 s | details |
#12 | ACCEPTED | 0.11 s | details |
#13 | ACCEPTED | 0.13 s | details |
#14 | ACCEPTED | 0.12 s | details |
#15 | ACCEPTED | 0.14 s | details |
#16 | ACCEPTED | 0.13 s | details |
#17 | ACCEPTED | 0.56 s | details |
#18 | ACCEPTED | 0.44 s | details |
#19 | ACCEPTED | 0.40 s | details |
#20 | ACCEPTED | 0.26 s | details |
#21 | ACCEPTED | 0.26 s | details |
#22 | ACCEPTED | 0.34 s | details |
#23 | ACCEPTED | 0.23 s | details |
#24 | ACCEPTED | 0.27 s | details |
#25 | ACCEPTED | 0.47 s | details |
#26 | ACCEPTED | 0.48 s | details |
#27 | ACCEPTED | 0.46 s | details |
#28 | ACCEPTED | 0.46 s | details |
#29 | ACCEPTED | 0.47 s | details |
#30 | ACCEPTED | 0.45 s | details |
#31 | ACCEPTED | 0.45 s | details |
#32 | ACCEPTED | 0.45 s | details |
#33 | ACCEPTED | 0.47 s | details |
#34 | ACCEPTED | 0.43 s | details |
#35 | ACCEPTED | 0.46 s | details |
Code
import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; import java.util.Deque; import java.util.PriorityQueue; import java.util.Queue; import java.util.Stack; import java.util.TreeMap; public class Kilpalaatikko { public static void main(String[] args) { IO io = new IO(); int n = io.nextInt(); int m = io.nextInt(); int x = io.nextInt(); int l = io.nextInt(); ArrayList<Integer>[] tt = new ArrayList[n + 1]; for (int i = 0; i < n + 1; i++) { tt[i] = new ArrayList<>(); } for (int i = 0; i < m; i++) { int a = io.nextInt(); int b = io.nextInt(); tt[a].add(b); tt[b].add(a); } int[] partn = new int[n + 1]; for (int i = 1; i < n + 1; i++) { partn[i] = tt[i].size(); } Stack<Integer> stack = new Stack(); stack.add(l); boolean[] leav = new boolean[n + 1]; int[] removed = new int[n + 1]; if (l == x) { io.print("leave"); io.close(); return; } while (!stack.isEmpty()) { int g = stack.pop(); leav[g] = true; for (int o : tt[g]) { if (leav[o]) { continue; } removed[o]++; if (removed[o] * 2 >= partn[o]) { stack.add(o); leav[o] = true; if (o == x) { io.print("leave"); io.close(); return; } } } } io.print("stay"); io.close(); // TÄYTYY KUTSUA LOPUKSI, muuten tuloste voi jäädä kirjoittamatta } } class pari implements Comparable<pari> { int x; int y; int z; public pari(int x, int y, int z) { this.x = x; this.y = y; this.z = z; } public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; } public void setY(int y) { this.y = y; } @Override public int compareTo(pari o) { return -o.y + this.y; } }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
4 4 4 1 1 2 1 3 2 3 3 4 |
correct output |
---|
leave |
user output |
---|
leave |
Test 2
Verdict: ACCEPTED
input |
---|
8 11 4 7 1 4 1 6 4 6 1 8 ... |
correct output |
---|
stay |
user output |
---|
stay |
Test 3
Verdict: ACCEPTED
input |
---|
8 8 8 1 1 2 1 3 2 4 3 5 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 4
Verdict: ACCEPTED
input |
---|
7 8 7 1 1 2 1 3 1 7 2 4 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 5
Verdict: ACCEPTED
input |
---|
8 10 5 1 1 2 1 3 1 7 2 4 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 6
Verdict: ACCEPTED
input |
---|
14 36 11 1 1 2 1 3 1 4 1 5 ... |
correct output |
---|
stay |
user output |
---|
stay |
Test 7
Verdict: ACCEPTED
input |
---|
14 35 11 1 1 2 1 3 1 4 1 5 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 8
Verdict: ACCEPTED
input |
---|
17 30 8 11 1 2 2 3 3 4 4 5 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 9
Verdict: ACCEPTED
input |
---|
4 2 3 1 1 3 2 4 |
correct output |
---|
leave |
user output |
---|
leave |
Test 10
Verdict: ACCEPTED
input |
---|
4 2 2 4 1 4 2 3 |
correct output |
---|
stay |
user output |
---|
stay |
Test 11
Verdict: ACCEPTED
input |
---|
20 19 6 17 1 19 8 9 16 18 4 5 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 12
Verdict: ACCEPTED
input |
---|
2 1 2 1 1 2 |
correct output |
---|
leave |
user output |
---|
leave |
Test 13
Verdict: ACCEPTED
input |
---|
2 1 1 1 1 2 |
correct output |
---|
leave |
user output |
---|
leave |
Test 14
Verdict: ACCEPTED
input |
---|
8 9 8 1 1 2 1 3 1 4 2 5 ... |
correct output |
---|
stay |
user output |
---|
stay |
Test 15
Verdict: ACCEPTED
input |
---|
2297 2679 1051 742 617 742 694 1379 156 742 36 531 ... |
correct output |
---|
stay |
user output |
---|
stay |
Test 16
Verdict: ACCEPTED
input |
---|
9 36 3 3 1 2 1 3 1 4 1 5 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 17
Verdict: ACCEPTED
input |
---|
150670 300000 64138 127023 50117 131948 138058 140437 80088 113710 1091 149845 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 18
Verdict: ACCEPTED
input |
---|
75351 299756 67121 54519 13237 54519 21423 29557 45590 57906 27901 54519 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 19
Verdict: ACCEPTED
input |
---|
75351 299755 66319 71133 70626 71133 9534 30979 52767 59421 3512 62528 ... |
correct output |
---|
stay |
user output |
---|
stay |
Test 20
Verdict: ACCEPTED
input |
---|
100000 100000 1 100000 1 2 2 3 3 4 4 5 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 21
Verdict: ACCEPTED
input |
---|
100000 99999 1 100000 1 2 1 3 1 4 1 5 ... |
correct output |
---|
stay |
user output |
---|
stay |
Test 22
Verdict: ACCEPTED
input |
---|
100000 99999 100000 1 1 2 1 3 1 4 1 5 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 23
Verdict: ACCEPTED
input |
---|
623 100000 201 369 1 2 2 3 1 3 2 4 ... |
correct output |
---|
stay |
user output |
---|
stay |
Test 24
Verdict: ACCEPTED
input |
---|
10007 100000 8980 3955 1 2 2 3 3 4 4 5 ... |
correct output |
---|
stay |
user output |
---|
stay |
Test 25
Verdict: ACCEPTED
input |
---|
200000 300000 98405 200000 91091 107131 187868 200000 169168 200000 107283 200000 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 26
Verdict: ACCEPTED
input |
---|
200000 200003 36335 152343 118063 160421 103074 184863 39554 133784 111165 151835 ... |
correct output |
---|
stay |
user output |
---|
stay |
Test 27
Verdict: ACCEPTED
input |
---|
200000 200003 36335 152343 118063 160421 103074 184863 39554 133784 111165 151835 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 28
Verdict: ACCEPTED
input |
---|
200000 199995 48807 188921 125668 137213 58484 92270 149853 172371 147281 183987 ... |
correct output |
---|
stay |
user output |
---|
stay |
Test 29
Verdict: ACCEPTED
input |
---|
150003 300000 5769 81807 1701 81807 67930 81807 95197 101956 8464 95197 ... |
correct output |
---|
stay |
user output |
---|
stay |
Test 30
Verdict: ACCEPTED
input |
---|
150003 300000 113708 52542 20542 140674 113708 118110 53131 140674 106124 140674 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 31
Verdict: ACCEPTED
input |
---|
150002 299998 108658 134482 7967 120234 7967 69327 4545 7967 48480 134482 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 32
Verdict: ACCEPTED
input |
---|
150002 299998 111144 48353 29987 48353 48353 80095 75893 89146 88333 111144 ... |
correct output |
---|
stay |
user output |
---|
stay |
Test 33
Verdict: ACCEPTED
input |
---|
199999 299996 111739 12359 173419 189883 35930 189883 72825 189883 175798 189883 ... |
correct output |
---|
leave |
user output |
---|
leave |
Test 34
Verdict: ACCEPTED
input |
---|
200000 299997 24068 147603 15273 189931 57932 189931 147603 188966 36101 147603 ... |
correct output |
---|
stay |
user output |
---|
stay |
Test 35
Verdict: ACCEPTED
input |
---|
200000 199999 182498 116219 59555 62379 33156 181870 103953 174756 101778 110925 ... |
correct output |
---|
leave |
user output |
---|
leave |