結果
問題 |
No.1340 おーじ君をさがせ
|
ユーザー |
![]() |
提出日時 | 2020-09-22 20:38:24 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 705 bytes |
コンパイル時間 | 150 ms |
コンパイル使用メモリ | 82,456 KB |
実行使用メモリ | 77,932 KB |
最終ジャッジ日時 | 2024-11-26 19:19:43 |
合計ジャッジ時間 | 15,084 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 48 WA * 11 |
ソースコード
(n, m, t) = map(int,input().split()) #行列の積 def mul(a, b): c = [[0 for j in range(n)] for i in range(n)] for i in range(n): for j in range(n): for k in range(n): c[i][j] |= a[i][k] & b[k][j] return c #有向グラフを行列に置き換える G = [[0 for j in range(n)] for i in range(n)] for i in range(m): (a, b) = map(int,input().split()) G[b][a] = 1 # A = G ** T A = [[0 for j in range(n)] for i in range(n)] for i in range(n): A[i][i] = 1 while t: if t % 2 == 1: A = mul(A, G) G = mul(G, G) t = t // 2 #answer ans = 0 for i in range(n): ans += A[i][0] if ans == 0: print(-1) else: print(ans)