# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
315761 |
2020-10-23T21:25:18 Z |
KWang31 |
Graph (BOI20_graph) |
Java 11 |
|
700 ms |
57920 KB |
import java.io.*; import java.util.*;
public class Graph {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st=new StringTokenizer(br.readLine());
int N=Integer.parseInt(st.nextToken());
int M=Integer.parseInt(st.nextToken());
ArrayList<Integer> arl[]=new ArrayList[N];
for (int i = 0; i < N; i++) {
arl[i]=new ArrayList<>();
}
int a,b,vv;
for (int i = 0; i < M; i++) {
st=new StringTokenizer(br.readLine());
a=Integer.parseInt(st.nextToken())-1;
b=Integer.parseInt(st.nextToken())-1;
vv=Integer.parseInt(st.nextToken());
arl[a].add(4*b+2*vv); arl[b].add(4*a+2*vv);
}
boolean[] vis=new boolean[N];
int[] m=new int[N];
int[] c=new int[N];
int done=0; int pt=0;
while(done<N){
while(pt<N && vis[pt]){
pt++;
}
//Start DFS at pt, finish the component
m[pt]=1; //b[pt]=0
Queue<Integer> qu=new LinkedList<>();
qu.add(pt); vis[pt]=true; done++;
ArrayList<Integer> qu2=new ArrayList<>();//Tracks all vertices in the queue
qu2.add(pt); boolean fix=false;
int x,y;
while(!qu.isEmpty()){
int v=qu.poll();
for (int p : arl[v]) {
x=4-p%4; y=(p-x)/4;
if(!vis[y]){
vis[y]=true; qu.add(y);
if(!fix){
qu2.add(y);
}
m[y]=-m[v]; c[y]=x-c[v]; done++;
}else{
//System.out.println(x+" "+y+" "+v);
if(m[y]==m[v] && m[v]!=0){
//m[p.vtx]x+c[p.vtx]+m[v]x+c[v] is known
int xx=(x-c[y]-c[v])/(2*m[y]); fix=true;
for(int vtx: qu2){
c[vtx]+=m[vtx]*xx; m[vtx]=0;
}
}else if(m[y]+m[v]==0){//m[v]=0
if(c[y]+c[v]!=x){
System.out.println("NO"); return;
}
}
}
}
//System.out.println(Arrays.toString(m));
//System.out.println(Arrays.toString(c));
}
if(m[pt]!=0){//This component is not fixed
ArrayList<Integer> arl2=new ArrayList<>();
for (int i : qu2) {
if(m[i]<0){
m[i]=-m[i]; c[i]=-c[i]; qu.add(i);
}
arl2.add(c[i]);
}
Collections.sort(arl2);
int med=arl2.get(arl2.size()/2);
for (int i : qu2) {
c[i]-=med;
}
while(!qu.isEmpty()){
int i=qu.poll();
c[i]=-c[i];
}
}
}
System.out.println("YES");
StringBuilder sb=new StringBuilder();
for (int i = 0; i < N; i++) {
sb.append((double)c[i]/2).append(" ");
}
System.out.println(sb.toString());
}
}
Compilation message
Note: Graph.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
79 ms |
10360 KB |
answer = YES |
2 |
Correct |
83 ms |
10364 KB |
answer = YES |
3 |
Correct |
82 ms |
10488 KB |
answer = YES |
4 |
Correct |
85 ms |
10420 KB |
answer = NO |
5 |
Correct |
80 ms |
10360 KB |
answer = YES |
6 |
Correct |
82 ms |
10364 KB |
answer = YES |
7 |
Correct |
82 ms |
10220 KB |
answer = YES |
8 |
Correct |
81 ms |
10388 KB |
answer = YES |
9 |
Correct |
78 ms |
10344 KB |
answer = NO |
10 |
Correct |
81 ms |
10344 KB |
answer = YES |
11 |
Correct |
81 ms |
10492 KB |
answer = YES |
12 |
Correct |
76 ms |
10324 KB |
answer = NO |
13 |
Correct |
80 ms |
10436 KB |
answer = YES |
14 |
Correct |
83 ms |
10484 KB |
answer = YES |
15 |
Correct |
84 ms |
10600 KB |
answer = YES |
16 |
Correct |
81 ms |
10360 KB |
answer = YES |
17 |
Correct |
77 ms |
10360 KB |
answer = YES |
18 |
Correct |
80 ms |
10472 KB |
answer = YES |
19 |
Correct |
84 ms |
10728 KB |
answer = YES |
20 |
Correct |
82 ms |
10360 KB |
answer = YES |
21 |
Correct |
83 ms |
10604 KB |
answer = YES |
22 |
Correct |
76 ms |
10360 KB |
answer = NO |
23 |
Correct |
81 ms |
10472 KB |
answer = NO |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
79 ms |
10360 KB |
answer = YES |
2 |
Correct |
83 ms |
10364 KB |
answer = YES |
3 |
Correct |
82 ms |
10488 KB |
answer = YES |
4 |
Correct |
85 ms |
10420 KB |
answer = NO |
5 |
Correct |
80 ms |
10360 KB |
answer = YES |
6 |
Correct |
82 ms |
10364 KB |
answer = YES |
7 |
Correct |
82 ms |
10220 KB |
answer = YES |
8 |
Correct |
81 ms |
10388 KB |
answer = YES |
9 |
Correct |
78 ms |
10344 KB |
answer = NO |
10 |
Correct |
81 ms |
10344 KB |
answer = YES |
11 |
Correct |
81 ms |
10492 KB |
answer = YES |
12 |
Correct |
76 ms |
10324 KB |
answer = NO |
13 |
Correct |
80 ms |
10436 KB |
answer = YES |
14 |
Correct |
83 ms |
10484 KB |
answer = YES |
15 |
Correct |
84 ms |
10600 KB |
answer = YES |
16 |
Correct |
81 ms |
10360 KB |
answer = YES |
17 |
Correct |
77 ms |
10360 KB |
answer = YES |
18 |
Correct |
80 ms |
10472 KB |
answer = YES |
19 |
Correct |
84 ms |
10728 KB |
answer = YES |
20 |
Correct |
82 ms |
10360 KB |
answer = YES |
21 |
Correct |
83 ms |
10604 KB |
answer = YES |
22 |
Correct |
76 ms |
10360 KB |
answer = NO |
23 |
Correct |
81 ms |
10472 KB |
answer = NO |
24 |
Correct |
87 ms |
10480 KB |
answer = YES |
25 |
Correct |
85 ms |
10488 KB |
answer = YES |
26 |
Correct |
87 ms |
10488 KB |
answer = YES |
27 |
Correct |
85 ms |
10472 KB |
answer = YES |
28 |
Correct |
88 ms |
10372 KB |
answer = YES |
29 |
Correct |
89 ms |
10488 KB |
answer = YES |
30 |
Correct |
86 ms |
10488 KB |
answer = NO |
31 |
Correct |
87 ms |
10492 KB |
answer = YES |
32 |
Correct |
88 ms |
10488 KB |
answer = YES |
33 |
Correct |
86 ms |
10472 KB |
answer = YES |
34 |
Correct |
90 ms |
10792 KB |
answer = YES |
35 |
Correct |
85 ms |
10600 KB |
answer = YES |
36 |
Correct |
83 ms |
10488 KB |
answer = YES |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
79 ms |
10360 KB |
answer = YES |
2 |
Correct |
83 ms |
10364 KB |
answer = YES |
3 |
Correct |
82 ms |
10488 KB |
answer = YES |
4 |
Correct |
85 ms |
10420 KB |
answer = NO |
5 |
Correct |
80 ms |
10360 KB |
answer = YES |
6 |
Correct |
82 ms |
10364 KB |
answer = YES |
7 |
Correct |
82 ms |
10220 KB |
answer = YES |
8 |
Correct |
81 ms |
10388 KB |
answer = YES |
9 |
Correct |
78 ms |
10344 KB |
answer = NO |
10 |
Correct |
81 ms |
10344 KB |
answer = YES |
11 |
Correct |
81 ms |
10492 KB |
answer = YES |
12 |
Correct |
76 ms |
10324 KB |
answer = NO |
13 |
Correct |
80 ms |
10436 KB |
answer = YES |
14 |
Correct |
83 ms |
10484 KB |
answer = YES |
15 |
Correct |
84 ms |
10600 KB |
answer = YES |
16 |
Correct |
81 ms |
10360 KB |
answer = YES |
17 |
Correct |
77 ms |
10360 KB |
answer = YES |
18 |
Correct |
80 ms |
10472 KB |
answer = YES |
19 |
Correct |
84 ms |
10728 KB |
answer = YES |
20 |
Correct |
82 ms |
10360 KB |
answer = YES |
21 |
Correct |
83 ms |
10604 KB |
answer = YES |
22 |
Correct |
76 ms |
10360 KB |
answer = NO |
23 |
Correct |
81 ms |
10472 KB |
answer = NO |
24 |
Correct |
87 ms |
10480 KB |
answer = YES |
25 |
Correct |
85 ms |
10488 KB |
answer = YES |
26 |
Correct |
87 ms |
10488 KB |
answer = YES |
27 |
Correct |
85 ms |
10472 KB |
answer = YES |
28 |
Correct |
88 ms |
10372 KB |
answer = YES |
29 |
Correct |
89 ms |
10488 KB |
answer = YES |
30 |
Correct |
86 ms |
10488 KB |
answer = NO |
31 |
Correct |
87 ms |
10492 KB |
answer = YES |
32 |
Correct |
88 ms |
10488 KB |
answer = YES |
33 |
Correct |
86 ms |
10472 KB |
answer = YES |
34 |
Correct |
90 ms |
10792 KB |
answer = YES |
35 |
Correct |
85 ms |
10600 KB |
answer = YES |
36 |
Correct |
83 ms |
10488 KB |
answer = YES |
37 |
Correct |
100 ms |
11000 KB |
answer = YES |
38 |
Correct |
95 ms |
10984 KB |
answer = YES |
39 |
Correct |
123 ms |
11040 KB |
answer = YES |
40 |
Correct |
123 ms |
11512 KB |
answer = YES |
41 |
Correct |
104 ms |
11128 KB |
answer = NO |
42 |
Correct |
126 ms |
11388 KB |
answer = YES |
43 |
Correct |
128 ms |
11496 KB |
answer = YES |
44 |
Correct |
136 ms |
11636 KB |
answer = YES |
45 |
Correct |
135 ms |
12444 KB |
answer = YES |
46 |
Correct |
118 ms |
11000 KB |
answer = YES |
47 |
Correct |
131 ms |
12296 KB |
answer = YES |
48 |
Correct |
127 ms |
12280 KB |
answer = YES |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
79 ms |
10360 KB |
answer = YES |
2 |
Correct |
83 ms |
10364 KB |
answer = YES |
3 |
Correct |
82 ms |
10488 KB |
answer = YES |
4 |
Correct |
85 ms |
10420 KB |
answer = NO |
5 |
Correct |
80 ms |
10360 KB |
answer = YES |
6 |
Correct |
82 ms |
10364 KB |
answer = YES |
7 |
Correct |
82 ms |
10220 KB |
answer = YES |
8 |
Correct |
81 ms |
10388 KB |
answer = YES |
9 |
Correct |
78 ms |
10344 KB |
answer = NO |
10 |
Correct |
81 ms |
10344 KB |
answer = YES |
11 |
Correct |
81 ms |
10492 KB |
answer = YES |
12 |
Correct |
76 ms |
10324 KB |
answer = NO |
13 |
Correct |
80 ms |
10436 KB |
answer = YES |
14 |
Correct |
83 ms |
10484 KB |
answer = YES |
15 |
Correct |
84 ms |
10600 KB |
answer = YES |
16 |
Correct |
81 ms |
10360 KB |
answer = YES |
17 |
Correct |
77 ms |
10360 KB |
answer = YES |
18 |
Correct |
80 ms |
10472 KB |
answer = YES |
19 |
Correct |
84 ms |
10728 KB |
answer = YES |
20 |
Correct |
82 ms |
10360 KB |
answer = YES |
21 |
Correct |
83 ms |
10604 KB |
answer = YES |
22 |
Correct |
76 ms |
10360 KB |
answer = NO |
23 |
Correct |
81 ms |
10472 KB |
answer = NO |
24 |
Correct |
87 ms |
10480 KB |
answer = YES |
25 |
Correct |
85 ms |
10488 KB |
answer = YES |
26 |
Correct |
87 ms |
10488 KB |
answer = YES |
27 |
Correct |
85 ms |
10472 KB |
answer = YES |
28 |
Correct |
88 ms |
10372 KB |
answer = YES |
29 |
Correct |
89 ms |
10488 KB |
answer = YES |
30 |
Correct |
86 ms |
10488 KB |
answer = NO |
31 |
Correct |
87 ms |
10492 KB |
answer = YES |
32 |
Correct |
88 ms |
10488 KB |
answer = YES |
33 |
Correct |
86 ms |
10472 KB |
answer = YES |
34 |
Correct |
90 ms |
10792 KB |
answer = YES |
35 |
Correct |
85 ms |
10600 KB |
answer = YES |
36 |
Correct |
83 ms |
10488 KB |
answer = YES |
37 |
Correct |
100 ms |
11000 KB |
answer = YES |
38 |
Correct |
95 ms |
10984 KB |
answer = YES |
39 |
Correct |
123 ms |
11040 KB |
answer = YES |
40 |
Correct |
123 ms |
11512 KB |
answer = YES |
41 |
Correct |
104 ms |
11128 KB |
answer = NO |
42 |
Correct |
126 ms |
11388 KB |
answer = YES |
43 |
Correct |
128 ms |
11496 KB |
answer = YES |
44 |
Correct |
136 ms |
11636 KB |
answer = YES |
45 |
Correct |
135 ms |
12444 KB |
answer = YES |
46 |
Correct |
118 ms |
11000 KB |
answer = YES |
47 |
Correct |
131 ms |
12296 KB |
answer = YES |
48 |
Correct |
127 ms |
12280 KB |
answer = YES |
49 |
Correct |
325 ms |
20480 KB |
answer = YES |
50 |
Correct |
330 ms |
21268 KB |
answer = YES |
51 |
Correct |
361 ms |
22248 KB |
answer = YES |
52 |
Correct |
188 ms |
18520 KB |
answer = NO |
53 |
Correct |
137 ms |
11240 KB |
answer = YES |
54 |
Correct |
171 ms |
14184 KB |
answer = YES |
55 |
Correct |
239 ms |
16596 KB |
answer = YES |
56 |
Correct |
349 ms |
20044 KB |
answer = YES |
57 |
Correct |
381 ms |
21356 KB |
answer = YES |
58 |
Correct |
317 ms |
20436 KB |
answer = YES |
59 |
Correct |
297 ms |
19928 KB |
answer = YES |
60 |
Correct |
349 ms |
21392 KB |
answer = YES |
61 |
Correct |
235 ms |
16588 KB |
answer = YES |
62 |
Correct |
568 ms |
55748 KB |
answer = NO |
63 |
Execution timed out |
815 ms |
57920 KB |
Time limit exceeded |
64 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
79 ms |
10360 KB |
answer = YES |
2 |
Correct |
83 ms |
10364 KB |
answer = YES |
3 |
Correct |
82 ms |
10488 KB |
answer = YES |
4 |
Correct |
85 ms |
10420 KB |
answer = NO |
5 |
Correct |
80 ms |
10360 KB |
answer = YES |
6 |
Correct |
82 ms |
10364 KB |
answer = YES |
7 |
Correct |
82 ms |
10220 KB |
answer = YES |
8 |
Correct |
81 ms |
10388 KB |
answer = YES |
9 |
Correct |
78 ms |
10344 KB |
answer = NO |
10 |
Correct |
81 ms |
10344 KB |
answer = YES |
11 |
Correct |
81 ms |
10492 KB |
answer = YES |
12 |
Correct |
76 ms |
10324 KB |
answer = NO |
13 |
Correct |
80 ms |
10436 KB |
answer = YES |
14 |
Correct |
83 ms |
10484 KB |
answer = YES |
15 |
Correct |
84 ms |
10600 KB |
answer = YES |
16 |
Correct |
81 ms |
10360 KB |
answer = YES |
17 |
Correct |
77 ms |
10360 KB |
answer = YES |
18 |
Correct |
80 ms |
10472 KB |
answer = YES |
19 |
Correct |
84 ms |
10728 KB |
answer = YES |
20 |
Correct |
82 ms |
10360 KB |
answer = YES |
21 |
Correct |
83 ms |
10604 KB |
answer = YES |
22 |
Correct |
76 ms |
10360 KB |
answer = NO |
23 |
Correct |
81 ms |
10472 KB |
answer = NO |
24 |
Correct |
87 ms |
10480 KB |
answer = YES |
25 |
Correct |
85 ms |
10488 KB |
answer = YES |
26 |
Correct |
87 ms |
10488 KB |
answer = YES |
27 |
Correct |
85 ms |
10472 KB |
answer = YES |
28 |
Correct |
88 ms |
10372 KB |
answer = YES |
29 |
Correct |
89 ms |
10488 KB |
answer = YES |
30 |
Correct |
86 ms |
10488 KB |
answer = NO |
31 |
Correct |
87 ms |
10492 KB |
answer = YES |
32 |
Correct |
88 ms |
10488 KB |
answer = YES |
33 |
Correct |
86 ms |
10472 KB |
answer = YES |
34 |
Correct |
90 ms |
10792 KB |
answer = YES |
35 |
Correct |
85 ms |
10600 KB |
answer = YES |
36 |
Correct |
83 ms |
10488 KB |
answer = YES |
37 |
Correct |
100 ms |
11000 KB |
answer = YES |
38 |
Correct |
95 ms |
10984 KB |
answer = YES |
39 |
Correct |
123 ms |
11040 KB |
answer = YES |
40 |
Correct |
123 ms |
11512 KB |
answer = YES |
41 |
Correct |
104 ms |
11128 KB |
answer = NO |
42 |
Correct |
126 ms |
11388 KB |
answer = YES |
43 |
Correct |
128 ms |
11496 KB |
answer = YES |
44 |
Correct |
136 ms |
11636 KB |
answer = YES |
45 |
Correct |
135 ms |
12444 KB |
answer = YES |
46 |
Correct |
118 ms |
11000 KB |
answer = YES |
47 |
Correct |
131 ms |
12296 KB |
answer = YES |
48 |
Correct |
127 ms |
12280 KB |
answer = YES |
49 |
Correct |
325 ms |
20480 KB |
answer = YES |
50 |
Correct |
330 ms |
21268 KB |
answer = YES |
51 |
Correct |
361 ms |
22248 KB |
answer = YES |
52 |
Correct |
188 ms |
18520 KB |
answer = NO |
53 |
Correct |
137 ms |
11240 KB |
answer = YES |
54 |
Correct |
171 ms |
14184 KB |
answer = YES |
55 |
Correct |
239 ms |
16596 KB |
answer = YES |
56 |
Correct |
349 ms |
20044 KB |
answer = YES |
57 |
Correct |
381 ms |
21356 KB |
answer = YES |
58 |
Correct |
317 ms |
20436 KB |
answer = YES |
59 |
Correct |
297 ms |
19928 KB |
answer = YES |
60 |
Correct |
349 ms |
21392 KB |
answer = YES |
61 |
Correct |
235 ms |
16588 KB |
answer = YES |
62 |
Correct |
568 ms |
55748 KB |
answer = NO |
63 |
Execution timed out |
815 ms |
57920 KB |
Time limit exceeded |
64 |
Halted |
0 ms |
0 KB |
- |