結果

問題 No.581 XOR
ユーザー nobigomunobigomu
提出日時 2018-03-29 13:13:00
言語 Lua
(LuaJit 2.1.1696795921)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 499 bytes
コンパイル時間 115 ms
コンパイル使用メモリ 5,376 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-06-25 22:08:04
合計ジャッジ時間 694 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
5,248 KB
testcase_01 AC 1 ms
5,376 KB
testcase_02 AC 2 ms
5,376 KB
testcase_03 AC 1 ms
5,376 KB
testcase_04 AC 2 ms
5,376 KB
testcase_05 AC 2 ms
5,376 KB
testcase_06 AC 2 ms
5,376 KB
testcase_07 AC 2 ms
5,376 KB
testcase_08 AC 2 ms
5,376 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

local ffi = require 'ffi'
local C = ffi.C

ffi.cdef [[
long atol(const char *);
int printf(const char *, ...);
]]

C.printf("%ld\n", (function (f, s)
	return f(s)
end)(function (s)
	local a,c,r,p = C.atol(s:match("(%d+)%s")),C.atol(s:match("%s(%d+)")),0LL,1LL
	while a~=0LL and c~=0LL do
		r,p,a,c = r+p*(a%2LL~=c%2LL and 1LL or 0LL),p*2LL,a/2LL,c/2LL
	end
	while a~=0LL do r,p,a = r+p*(a%2LL),p*2LL,a/2LL end
	while c~=0LL do r,p,c = r+p*(c%2LL),p*2LL,c/2LL end
	return r
end, io.stdin:read("*l")))
0