結果
| 問題 |
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)