Submission #3971104
Source Code Expand
import java.io.*; import java.util.*; import static java.lang.System.in; class Main{ static HashMap<Integer,Long> dist = new HashMap<>(); static ArrayList<Edge>[] map; public static void main(String[] args)throws IOException{ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int X = sc.nextInt(); map = new ArrayList[n+1]; for(int i=0;i<=n;i++) map[i]=new ArrayList<>(); for(int i=0;i<n-1;i++){ int a = sc.nextInt(), b = sc.nextInt(), c = sc.nextInt(); map[a].add(new Edge(b,c)); map[b].add(new Edge(a,c)); } for(Edge e:map[1]) dfs(e.to,1,e.weight); if(X==0){ long ans = dist.getOrDefault(0,0L); for(int w:dist.keySet()){ long cur = dist.get(w); ans += cur*(cur-1)/2; } System.out.println(ans); }else{ // X!=0, then w^w!=X for all w>=0 long ans1 = dist.getOrDefault(X,0L); long ans2 = 0; for(int w:dist.keySet()){ long cur = dist.get(w); ans2 += cur*dist.getOrDefault(w^X,0L); } System.out.println(ans1+ans2/2); } } static void dfs(int cur, int from, int len){ dist.put(len,dist.getOrDefault(len,0L)+1L); for(Edge e:map[cur]){ if(e.to==from) continue; dfs(e.to,cur,len^e.weight); } } static class Edge{ int to,weight; public Edge(int t, int w){ this.to = t; this.weight = w; } } }
Submission Info
Submission Time | |
---|---|
Task | C - エックスオア多橋君 |
User | AlbertZ |
Language | Java8 (OpenJDK 1.8.0) |
Score | 100 |
Code Size | 1670 Byte |
Status | AC |
Exec Time | 825 ms |
Memory | 128496 KB |
Compile Error
Note: ./Main.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt |
All | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0_sample_01.txt | AC | 242 ms | 19284 KB |
subtask0_sample_02.txt | AC | 98 ms | 19540 KB |
subtask0_sample_03.txt | AC | 93 ms | 21844 KB |
subtask1_01.txt | AC | 95 ms | 19284 KB |
subtask1_02.txt | AC | 160 ms | 23368 KB |
subtask1_03.txt | AC | 747 ms | 105924 KB |
subtask1_04.txt | AC | 782 ms | 106020 KB |
subtask1_05.txt | AC | 825 ms | 106728 KB |
subtask1_06.txt | AC | 677 ms | 128496 KB |
subtask1_07.txt | AC | 658 ms | 103720 KB |
subtask1_08.txt | AC | 684 ms | 105956 KB |
subtask1_09.txt | AC | 716 ms | 107356 KB |
subtask1_10.txt | AC | 725 ms | 105736 KB |
subtask1_11.txt | AC | 152 ms | 22896 KB |
subtask1_12.txt | AC | 169 ms | 26132 KB |
subtask1_13.txt | AC | 699 ms | 105464 KB |
subtask1_14.txt | AC | 720 ms | 105208 KB |
subtask1_15.txt | AC | 281 ms | 40828 KB |
subtask1_16.txt | AC | 303 ms | 44468 KB |
subtask1_17.txt | AC | 301 ms | 42904 KB |
subtask1_18.txt | AC | 308 ms | 42604 KB |
subtask1_19.txt | AC | 303 ms | 44500 KB |
subtask1_20.txt | AC | 312 ms | 44112 KB |
subtask1_21.txt | AC | 333 ms | 46416 KB |
subtask1_22.txt | AC | 320 ms | 43484 KB |
subtask1_23.txt | AC | 305 ms | 46668 KB |
subtask1_24.txt | AC | 308 ms | 41748 KB |