CSES - KILO 2017 5/5 - Results
Submission details
Task:Brexit
Sender:TEAM-Patonki
Submission time:2017-10-03 18:25:22 +0300
Language:Java
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.13 sdetails
#2ACCEPTED0.12 sdetails
#3ACCEPTED0.12 sdetails
#4ACCEPTED0.11 sdetails
#5ACCEPTED0.12 sdetails
#6ACCEPTED0.10 sdetails
#7ACCEPTED0.12 sdetails
#8ACCEPTED0.14 sdetails
#9ACCEPTED0.13 sdetails
#10ACCEPTED0.13 sdetails
#11ACCEPTED0.11 sdetails
#12ACCEPTED0.11 sdetails
#13ACCEPTED0.13 sdetails
#14ACCEPTED0.12 sdetails
#15ACCEPTED0.14 sdetails
#16ACCEPTED0.13 sdetails
#17ACCEPTED0.56 sdetails
#18ACCEPTED0.44 sdetails
#19ACCEPTED0.40 sdetails
#20ACCEPTED0.26 sdetails
#21ACCEPTED0.26 sdetails
#22ACCEPTED0.34 sdetails
#23ACCEPTED0.23 sdetails
#24ACCEPTED0.27 sdetails
#25ACCEPTED0.47 sdetails
#26ACCEPTED0.48 sdetails
#27ACCEPTED0.46 sdetails
#28ACCEPTED0.46 sdetails
#29ACCEPTED0.47 sdetails
#30ACCEPTED0.45 sdetails
#31ACCEPTED0.45 sdetails
#32ACCEPTED0.45 sdetails
#33ACCEPTED0.47 sdetails
#34ACCEPTED0.43 sdetails
#35ACCEPTED0.46 sdetails

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