結果
問題 | No.581 XOR |
ユーザー | toshiro_yanagi |
提出日時 | 2018-06-06 19:54:44 |
言語 | Nim (2.0.2) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 369 bytes |
コンパイル時間 | 942 ms |
コンパイル使用メモリ | 66,356 KB |
最終ジャッジ日時 | 2024-11-14 20:26:04 |
合計ジャッジ時間 | 1,348 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
/home/judge/data/code/Main.nim(12, 4) Error: type mismatch Expression: add(b, abs(trfm(C) - trfm(A))) [1] b: string [2] abs(trfm(C) - trfm(A)): int Expected one of (first mismatch at [position]): [1] proc add[T](x: var seq[T]; y: openArray[T]) [1] proc add[T](x: var seq[T]; y: sink T) [2] proc add(x: var string; y: char) [2] proc add(x: var string; y: cstring) [2] proc add(x: var string; y: string)
ソースコード
import strutils, sequtils, math let ac = readLine(stdin).split.map parseFloat (A, C) = (ac[0], ac[1]) bOdr = max(A.log2, C.log2).int + 1 var b = "" for i in 0 ..< bOdr: proc trfm(x: float): int = x.int.toBin(bOdr)[i .. i].parseInt b.add (C.trfm - A.trfm).abs var ans = 0 while b != "": if b[0] == '1': ans += 2 ^ (b.len - 1) b = b[1 .. ^1] echo ans