結果
問題 |
No.1870 Xor Matrix
|
ユーザー |
|
提出日時 | 2022-03-16 00:26:48 |
言語 | Scala(Beta) (3.6.2) |
結果 |
AC
|
実行時間 | 1,386 ms / 2,000 ms |
コード長 | 820 bytes |
コンパイル時間 | 12,135 ms |
コンパイル使用メモリ | 268,028 KB |
実行使用メモリ | 85,732 KB |
最終ジャッジ日時 | 2024-09-22 17:03:03 |
合計ジャッジ時間 | 42,476 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
import java.io.PrintWriter import scala.collection.mutable.* import scala.io.StdIn.* import scala.util.chaining.* import scala.math.* import scala.reflect.ClassTag import scala.util.* import scala.annotation.tailrec import scala.collection.mutable inline val MOD = 998244353 extension (base: Long) def powMod(exp: Long): Long = var result = 1L var b = base % MOD var e = exp while e > 0 do if (e & 1) == 1 then result = result * b % MOD b = b * b % MOD e >>= 1 result.toInt @main def main = val Array(n, m) = readLine().split(' ').map(_.toInt) val row = readLine().split(' ').map(_.toInt) val column = readLine().split(' ').map(_.toInt) if row.fold(0)(_ ^ _) == column.fold(0)(_ ^ _) then println((1 << 20).powMod((n - 1L) * (m - 1L))) else println(0)