結果
| 問題 | No.683 Two Operations No.3 | 
| コンテスト | |
| ユーザー |  nobigomu | 
| 提出日時 | 2018-05-13 12:42:02 | 
| 言語 | Lua (LuaJit 2.1.1734355927) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 3 ms / 2,000 ms | 
| コード長 | 457 bytes | 
| コンパイル時間 | 52 ms | 
| コンパイル使用メモリ | 6,812 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-06-28 09:59:27 | 
| 合計ジャッジ時間 | 691 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 16 | 
ソースコード
local ffi = require 'ffi'
local C, ct = ffi.C, ffi.typeof 'uint64_t[1]'
ffi.cdef 'int scanf(const char *, ...);'
print((function (a, b)
	function f(a, b)
		if a==0 or b==0 then return true end
		if a%2==1 and b%2==1 then return false end
		if a%2==0 and b%2==1 then return f(a/2,b-1) end
		if a%2==1 and b%2==0 then return f(a-1,b/2) end
		return f(a/2,b-1) or f(a-1,b/2)
	end
	C.scanf("%ld%ld",a,b)
	return f(a[0],b[0]) and "Yes" or "No"
end)(ct(), ct()))
            
            
            
        