CSES - KILO 2017 5/5 - Results
Submission details
Task:Brexit
Sender:Viljamin opetuslapset
Submission time:2017-10-03 17:45:13 +0300
Language:Java
Status:READY
Result:
Test results
testverdicttime
#10.11 sdetails
#20.14 sdetails
#30.13 sdetails
#40.12 sdetails
#50.14 sdetails
#60.10 sdetails
#70.17 sdetails
#80.13 sdetails
#90.14 sdetails
#100.13 sdetails
#110.12 sdetails
#120.15 sdetails
#130.14 sdetails
#140.14 sdetails
#150.17 sdetails
#160.12 sdetails
#171.41 sdetails
#182.18 sdetails
#191.25 sdetails
#201.19 sdetails
#210.31 sdetails
#220.87 sdetails
#230.22 sdetails
#240.29 sdetails
#250.67 sdetails
#261.19 sdetails
#271.63 sdetails
#281.20 sdetails
#29--details
#30--details
#31--details
#32--details
#33--details
#34--details
#352.04 sdetails

Code

import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Deque;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.PriorityQueue;
import java.util.Queue;
import java.util.Stack;

/**
 *
 * @author juliuuus
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        IO io = new IO();
        int solmujenMaara = io.nextInt();
        int yhteyksienMaara = io.nextInt();
        int kotimaa = io.nextInt();
        int lahtija = io.nextInt();
        HashMap<Integer, Solmu> solmut = new HashMap<>();

        for (int i = 1; i <= solmujenMaara; i++) {
            solmut.put(i, new Solmu(i));
        }

        for (int i = 0; i < yhteyksienMaara; i++) {
            Solmu solmu1 = solmut.get(io.nextInt());
            Solmu solmu2 = solmut.get(io.nextInt());

            solmu1.addNeighbor(solmu2);
            solmu2.addNeighbor(solmu1);

        }

        solmut.get(lahtija).poistu();
        System.out.println(solmut.get(kotimaa).poistettu ? "leave" : "stay");

        io.close();

    }

}

class Solmu {

    int origneighbours;
    List<Solmu> neighbours;
    boolean poistettu;
    int name;
//    private int neigbours;

    public Solmu(int name) {
        this.name = name;
        neighbours = new ArrayList<>();
        origneighbours = 0;
        poistettu = false;
    }

    public void addNeighbor(Solmu n) {
        neighbours.add(n);
        origneighbours++;
    }

    public boolean poistunko() {
        return (1.0 * neighbours.size() / origneighbours) <= 0.5;
    }

    public void poistu() {
        for (Solmu s : neighbours) {
            if (s.neighbours.contains(this)) {
                s.deleteNeighbor(this);
            }
        }
        System.out.println(name);
        poistettu = true;
    }

    public void deleteNeighbor(Solmu n) {
        neighbours.remove(n);
        if (poistunko()) {
            poistu();
        }
    }

//    @Override
//    public String toString() {
////        return neighbours.toString();
//        return "moi";
//    }
}

Test details

Test 1

Verdict:

input
4 4 4 1
1 2
1 3
2 3
3 4

correct output
leave

user output
2
4
3
1
leave

Test 2

Verdict:

input
8 11 4 7
1 4
1 6
4 6
1 8
...

correct output
stay

user output
3
6
5
2
7
...

Test 3

Verdict:

input
8 8 8 1
1 2
1 3
2 4
3 5
...

correct output
leave

user output
1
3
5
7
8
...

Test 4

Verdict:

input
7 8 7 1
1 2
1 3
1 7
2 4
...

correct output
leave

user output
6
4
2
7
5
...

Test 5

Verdict:

input
8 10 5 1
1 2
1 3
1 7
2 4
...

correct output
leave

user output
6
4
2
3
8
...

Test 6

Verdict:

input
14 36 11 1
1 2
1 3
1 4
1 5
...

correct output
stay

user output
2
3
4
5
6
...

Test 7

Verdict:

input
14 35 11 1
1 2
1 3
1 4
1 5
...

correct output
leave

user output
2
3
4
5
6
...

Error:
Exception in thread "main" java.util.ConcurrentModificationException
	at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
	at java.util.ArrayList$Itr.next(ArrayList.java:851)
	at Solmu.poistu(Main.java:78)
	at Solmu.deleteNeighbor(Main.java:90)
	at Solmu.poistu(Main.java:80)
	at Main.main(Main.java:44)

Test 8

Verdict:

input
17 30 8 11
1 2
2 3
3 4
4 5
...

correct output
leave

user output
12
1
13
14
2
...

Test 9

Verdict:

input
4 2 3 1
1 3
2 4

correct output
leave

user output
3
1
leave

Test 10

Verdict:

input
4 2 2 4
1 4
2 3

correct output
stay

user output
1
4
stay

Test 11

Verdict:

input
20 19 6 17
1 19
8 9
16 18
4 5
...

correct output
leave

user output
6
20
16
18
3
...

Test 12

Verdict:

input
2 1 2 1
1 2

correct output
leave

user output
2
1
leave

Test 13

Verdict:

input
2 1 1 1
1 2

correct output
leave

user output
2
1
leave

Test 14

Verdict:

input
8 9 8 1
1 2
1 3
1 4
2 5
...

correct output
stay

user output
2
4
5
3
1
...

Test 15

Verdict:

input
2297 2679 1051 742
617 742
694 1379
156 742
36 531
...

correct output
stay

user output
155
2029
1691
617
573
...

Error:
Exception in thread "main" java.util.ConcurrentModificationException
	at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
	at java.util.ArrayList$Itr.next(ArrayList.java:851)
	at Solmu.poistu(Main.java:78)
	at Main.main(Main.java:44)

Test 16

Verdict:

input
9 36 3 3
1 2
1 3
1 4
1 5
...

correct output
leave

user output
3
leave

Test 17

Verdict:

input
150670 300000 64138 127023
50117 131948
138058 140437
80088 113710
1091 149845
...

correct output
leave

user output
69309
5300
72933
102044
32581
...

Test 18

Verdict:

input
75351 299756 67121 54519
13237 54519
21423 29557
45590 57906
27901 54519
...

correct output
leave

user output
13237
27901
70936
17429
3004
...

Error:
Exception in thread "main" java.util.ConcurrentModificationException
	at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
	at java.util.ArrayList$Itr.next(ArrayList.java:851)
	at Solmu.poistu(Main.java:78)
	at Solmu.deleteNeighbor(Main.java:90)
	at Solmu.poistu(Main.java:80)
	at Solmu.deleteNeighbor(Main.java:90)
	at Solmu.poistu(Main.java:80)
	at Solmu.deleteNeighbor(Main.java:90)
	at Solmu.poistu(Main.java:80)
	at Solmu.deleteNeighbor(Main.java:90)
	at Solmu.poistu(Main.java:80)
	at Solmu.deleteNeighbor(Main.java:90)
	at Solmu.poistu(Main.java:80)
	at Solmu.deleteNeighbor(Main.java:90)
	at Solmu.poistu(Main.java:80)
	at Solmu.deleteNeighbor(Main.java:90)
	at Solmu.poistu(Main.java:80)
	at Solmu.deleteNeighbor(Main.java:90)
	at Solmu.poistu(Main.java:80)
	at Solmu.deleteNeighbor(Main.java:90)
	at Solmu.poistu(Main.java:80)
	at Solmu.deleteNeighbor(Main.java:90)
	at Solmu.poistu(Main.java:80)
	at Solmu.deleteNeighbor(Main.java:90)
	at Solmu.poistu(Main.java:80)
	at So...

Test 19

Verdict:

input
75351 299755 66319 71133
70626 71133
9534 30979
52767 59421
3512 62528
...

correct output
stay

user output
70626
6042
65053
26345
55400
...

Test 20

Verdict:

input
100000 100000 1 100000
1 2
2 3
3 4
4 5
...

correct output
leave

user output
100000
1
2
3
4
...

Test 21

Verdict:

input
100000 99999 1 100000
1 2
1 3
1 4
1 5
...

correct output
stay

user output
100000
stay

Test 22

Verdict:

input
100000 99999 100000 1
1 2
1 3
1 4
1 5
...

correct output
leave

user output
2
3
4
5
6
...

Test 23

Verdict:

input
623 100000 201 369
1 2
2 3
1 3
2 4
...

correct output
stay

user output
369
stay

Test 24

Verdict:

input
10007 100000 8980 3955
1 2
2 3
3 4
4 5
...

correct output
stay

user output
3955
stay

Test 25

Verdict:

input
200000 300000 98405 200000
91091 107131
187868 200000
169168 200000
107283 200000
...

correct output
leave

user output
187868
107283
26229
85206
180371
...

Error:
Exception in thread "main" java.util.ConcurrentModificationException
	at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
	at java.util.ArrayList$Itr.next(ArrayList.java:851)
	at Solmu.poistu(Main.java:78)
	at Main.main(Main.java:44)

Test 26

Verdict:

input
200000 200003 36335 152343
118063 160421
103074 184863
39554 133784
111165 151835
...

correct output
stay

user output
99038
180771
152404
126183
106333
...

Test 27

Verdict:

input
200000 200003 36335 152343
118063 160421
103074 184863
39554 133784
111165 151835
...

correct output
leave

user output
99038
180771
152404
126183
106333
...

Test 28

Verdict:

input
200000 199995 48807 188921
125668 137213
58484 92270
149853 172371
147281 183987
...

correct output
stay

user output
194282
58962
183842
152655
24716
...

Test 29

Verdict:

input
150003 300000 5769 81807
1701 81807
67930 81807
95197 101956
8464 95197
...

correct output
stay

user output
(empty)

Test 30

Verdict:

input
150003 300000 113708 52542
20542 140674
113708 118110
53131 140674
106124 140674
...

correct output
leave

user output
(empty)

Test 31

Verdict:

input
150002 299998 108658 134482
7967 120234
7967 69327
4545 7967
48480 134482
...

correct output
leave

user output
(empty)

Test 32

Verdict:

input
150002 299998 111144 48353
29987 48353
48353 80095
75893 89146
88333 111144
...

correct output
stay

user output
(empty)

Test 33

Verdict:

input
199999 299996 111739 12359
173419 189883
35930 189883
72825 189883
175798 189883
...

correct output
leave

user output
(empty)

Test 34

Verdict:

input
200000 299997 24068 147603
15273 189931
57932 189931
147603 188966
36101 147603
...

correct output
stay

user output
(empty)

Test 35

Verdict:

input
200000 199999 182498 116219
59555 62379
33156 181870
103953 174756
101778 110925
...

correct output
leave

user output
182498
168438
45753
30280
185295
...