結果
問題 | No.683 Two Operations No.3 |
ユーザー |
![]() |
提出日時 | 2018-05-12 00:08:58 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 27 ms / 2,000 ms |
コード長 | 1,755 bytes |
コンパイル時間 | 3,338 ms |
コンパイル使用メモリ | 114,488 KB |
実行使用メモリ | 17,920 KB |
最終ジャッジ日時 | 2024-06-28 09:57:02 |
合計ジャッジ時間 | 4,438 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 16 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;using System.IO;using System.Collections.Generic;namespace No683{public class Program{void Solve(StreamScanner ss, StreamWriter sw){//---------------------------------var A = ss.Next(long.Parse);var B = ss.Next(long.Parse);sw.WriteLine(Dfs(A, B) ? "Yes" : "No");//---------------------------------}bool Dfs(long a, long b){if (a == 0 || b == 0) return true;if (a % 2 != 0 && b % 2 != 0) return false;var ret = false;if (a % 2 == 0) ret |= Dfs(a / 2, b - 1);if (b % 2 == 0) ret |= Dfs(a - 1, b / 2);return ret;}static void Main(){var ss = new StreamScanner(new StreamReader(Console.OpenStandardInput()));var sw = new StreamWriter(Console.OpenStandardOutput()) {AutoFlush = false};new Program().Solve(ss, sw);sw.Flush();}static readonly Func<string, string> String = s => s;}public class StreamScanner{static readonly char[] Sep = {' '};readonly Queue<string> buffer = new Queue<string>();readonly TextReader textReader;public StreamScanner(TextReader textReader){this.textReader = textReader;}public T Next<T>(Func<string, T> parser){if (buffer.Count != 0) return parser(buffer.Dequeue());var nextStrings = textReader.ReadLine().Split(Sep, StringSplitOptions.RemoveEmptyEntries);foreach (var nextString in nextStrings) buffer.Enqueue(nextString);return Next(parser);}}}