結果
問題 | No.2664 Prime Sum |
ユーザー | ks2m |
提出日時 | 2024-03-08 21:27:04 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 102 ms / 2,000 ms |
コード長 | 1,344 bytes |
コンパイル時間 | 2,069 ms |
コンパイル使用メモリ | 78,924 KB |
実行使用メモリ | 39,400 KB |
最終ジャッジ日時 | 2024-09-29 18:57:46 |
合計ジャッジ時間 | 5,717 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 37 |
ソースコード
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.List; import java.util.Queue; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] sa = br.readLine().split(" "); int n = Integer.parseInt(sa[0]); int m = Integer.parseInt(sa[1]); Node2[] arr = new Node2[n]; for (int i = 0; i < n; i++) { Node2 o = new Node2(); arr[i] = o; } for (int i = 0; i < m; i++) { sa = br.readLine().split(" "); int a = Integer.parseInt(sa[0]) - 1; int b = Integer.parseInt(sa[1]) - 1; arr[a].nexts.add(b); arr[b].nexts.add(a); } br.close(); Queue<Integer> que = new ArrayDeque<>(); for (int i = 0; i < n; i++) { if (arr[i].grp == 0) { que.add(i); arr[i].grp = 1; while (!que.isEmpty()) { int cur = que.poll(); for (int next : arr[cur].nexts) { if (arr[next].grp == 0) { que.add(next); arr[next].grp = 3 - arr[cur].grp; } else if (arr[next].grp == arr[cur].grp) { System.out.println("No"); return; } } } } } System.out.println("Yes"); } static class Node2 { int grp; Integer target; List<Integer> nexts = new ArrayList<>(); } }