結果
| 問題 |
No.683 Two Operations No.3
|
| コンテスト | |
| ユーザー |
おおおきに
|
| 提出日時 | 2018-05-12 00:47:57 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
MLE
|
| 実行時間 | - |
| コード長 | 711 bytes |
| コンパイル時間 | 14,882 ms |
| コンパイル使用メモリ | 393,296 KB |
| 実行使用メモリ | 793,472 KB |
| 最終ジャッジ日時 | 2024-06-28 09:26:14 |
| 合計ジャッジ時間 | 14,225 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 6 MLE * 1 -- * 9 |
ソースコード
use std::io::{Read, stdin};
fn dfs(a: i64, b: i64) -> bool {
if a == 0 && b == 0 {
return true;
}
let mut ret = false;
if (a & 1) == 0 && b != 0 {
ret |= dfs(a >> 1, b - 1);
}
if !ret && (b & 1) == 0 && a != 0 {
ret |= dfs(a - 1, b >> 1);
}
ret
}
fn main() {
let mut buf = String::new();
stdin().read_to_string(&mut buf).unwrap();
let mut tok = buf.split_whitespace();
let mut get = || tok.next().unwrap().parse::<i64>().unwrap();
let a = get();
let b = get();
if a % 2 != 0 && b % 2 != 0 {
println!("No");
return;
}
if dfs(a, b) {
println!("Yes");
} else {
println!("No");
}
}
おおおきに