結果
問題 | No.683 Two Operations No.3 |
ユーザー |
![]() |
提出日時 | 2018-05-12 12:20:31 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 138 ms / 2,000 ms |
コード長 | 737 bytes |
コンパイル時間 | 2,047 ms |
コンパイル使用メモリ | 73,844 KB |
実行使用メモリ | 41,504 KB |
最終ジャッジ日時 | 2024-06-28 09:58:19 |
合計ジャッジ時間 | 4,986 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 16 |
ソースコード
import java.util.*; class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); long a = in.nextLong(); long b = in.nextLong(); boolean ans = rec(a, b); if(ans) System.out.println("Yes"); else System.out.println("No"); } private static boolean rec(long i, long j) { if(i == 0 || j == 0) return true; if(i % 2 == 0 && j % 2 == 0) return rec(i / 2, j - 1) | rec(i - 1, j / 2); if(i % 2 == 1 && j % 2 == 1) return false; if(i % 2 == 1) return rec(i - 1, j / 2); if(j % 2 == 1) return rec(i / 2, j - 1); return false; } }