結果
| 問題 | No.3724 Domination |
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2026-09-28 17:19:47 |
| 言語 | PyPy3 (7.3.23 + ACL) |
| 結果 |
WA
不安定
|
| 実行時間 | - |
| コード長 | 1,984 bytes |
| 記録 | |
| コンパイル時間 | 61 ms |
| コンパイル使用メモリ | 82,948 KB |
| 実行使用メモリ | 95,776 KB |
| 最終ジャッジ日時 | 2026-09-28 17:20:06 |
| 合計ジャッジ時間 | 18,324 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge2_0 |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| 部分点 | 20 % | AC * 7 WA * 1 |
| 満点 | 80 % | AC * 51 WA * 1 |
| 合計 | 2.5 * 0% = 0 点 |
ソースコード
import random
import sys
from typing import List, Tuple
int1 = lambda x: int(x) - 1
input = lambda: sys.stdin.readline().rstrip('\n')
ii = lambda: int(input())
vi = lambda: list(map(int, input().split()))
vi1 = lambda: list(map(int1, input().split()))
def dbg(*args, **kwargs):
print(*(repr(arg) for arg in args), *(f'{k}: {repr(v)}' for k, v in kwargs.items()),
sep='; ', file=sys.stderr, flush=True)
def main():
t = ii()
def inv(x):
arr = [None] * len(x)
for i in range(len(x)):
arr[x[i] - 1] = i + 1
return arr
def p(arr, r, c):
for i in range(len(r)):
for j in range(len(c)):
print(arr[r[i] - 1][c[j] - 1], end=' ')
print()
for _ in range(t):
n = ii()
r = vi()
c = vi()
if n == 2:
print(-1)
continue
if n <= 4:
arr = [[i] * n for i in range(1, n + 1)]
for i in range(n):
arr[i][i] = -1
if len(set(c)) == 1:
print(-1)
continue
g = list(range(n))
while True:
random.shuffle(g)
for i in range(n):
if c[g[i]] == i + 1:
break
else:
break
for i in range(n):
arr[i][i] = c[g[i]]
p(arr, r, inv([i + 1 for i in g]))
else:
arr = [[i] * n for i in range(1, n + 1)]
for i in range(n):
arr[i][i] = arr[i][(i + 1) % n] = -1
for i in range(n):
for j in range(n):
if arr[i][j] == -1:
arr[i][j] = c[j]
p(arr, r, list(range(1, n + 1)))
def _start():
if (ret := main()) is not None:
print(*ret) if isinstance(ret, List) or isinstance(ret, Tuple) else print(ret)
if __name__ == '__main__':
_start()