結果
問題 |
No.1225 I hate I hate Matrix Construction
|
ユーザー |
|
提出日時 | 2020-09-11 22:28:38 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,109 bytes |
コンパイル時間 | 695 ms |
コンパイル使用メモリ | 82,308 KB |
実行使用メモリ | 150,396 KB |
最終ジャッジ日時 | 2024-12-27 15:47:45 |
合計ジャッジ時間 | 22,762 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 28 WA * 3 TLE * 4 |
ソースコード
n = int(input()) s = list(map(int, input().split())) # 行情報 t = list(map(int, input().split())) # 列情報 # 0: or 0, 1: or 1, 2: and 1 u = [[False] * n for _ in range(n)] ans = 0 for i in range(n): if s[i] == 2: for j in range(n): u[i][j] = True ans += 1 if t[i] == 2: for j in range(n): u[j][i] = True ans += 1 for i in range(n): for j in range(n): if u[i][j]: continue if s[i] == 1 and t[j] == 1: ok1 = False ok2 = False for k in range(n): ok1 |= u[i][k] ok2 |= u[k][j] if not ok1 and not ok2: ans += 1 u[i][j] = True for i in range(n): for j in range(n): if u[i][j]: continue if s[i] == 1 and t[j] == 1: ok1 = False ok2 = False for k in range(n): ok1 |= u[i][k] ok2 |= u[k][j] if not (ok1 and ok2): ans += 1 u[i][j] = True print(ans)