結果
問題 | No.1399 すごろくで世界旅行 (構築) |
ユーザー |
![]() |
提出日時 | 2019-12-24 14:12:29 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 1,964 ms / 3,153 ms |
コード長 | 1,158 bytes |
コンパイル時間 | 2,173 ms |
コンパイル使用メモリ | 75,556 KB |
実行使用メモリ | 63,852 KB |
最終ジャッジ日時 | 2024-09-19 12:13:35 |
合計ジャッジ時間 | 34,614 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 22 |
ソースコード
package yukicoder_3565; import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { new Main(); } public Main() { try (Scanner sc = new Scanner(System.in)) { /* * author: 31536000 * 考察メモ * D=1の時、全ての距離が1でないといけないので、自己ループ付き完全グラフである必要がある * そうでない時、頂点1に自己ループ、それ以外の頂点は頂点1に繋ぐとこれは成立 * 木は二部グラフであるから、自分と距離の偶奇及びDとの偶奇のxorが一致しない点に行けないことを考えると、 * 木(E=V-1)では不成立で、E=Vの時は上で成立するのでこれが条件を満たすことは分かる */ int V = sc.nextInt(), D = sc.nextInt(); assert 1 <= V && V <= 1000; assert 1 <= D && D <= 640000; int[][] E = new int[V][V]; if (D == 1) for (int i = 0;i < V;++ i) Arrays.fill(E[i], 1); else for (int i = 0;i < V;++ i) E[0][i] = E[i][0] = 1; for (int[] i : E) { for (int j : i) System.out.print(j); System.out.println(); } } } }