結果
問題 |
No.1340 おーじ君をさがせ
|
ユーザー |
![]() |
提出日時 | 2020-09-26 18:03:05 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 677 bytes |
コンパイル時間 | 150 ms |
コンパイル使用メモリ | 82,496 KB |
実行使用メモリ | 78,060 KB |
最終ジャッジ日時 | 2024-11-26 19:26:00 |
合計ジャッジ時間 | 6,594 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 46 WA * 13 |
ソースコード
# 落としましょうか。 # 周期じゃないところで 2 回到達するとダメな嘘解法 N, M, T, *nums = map(int, open(0).read().split()) G = tuple(set(zip(nums[::2], nums[1::2]))) T_max = min(10000, T) T0 = [-1] * N T1 = [-1] * N dp = [0] * N dp[0] = 1 for t in range(T_max): newdp = [0] * N for frm, to in G: if dp[frm] and not newdp[to]: newdp[to] = 1 T0[to], T1[to] = T1[to], t dp = newdp ans = 0 for v in range(N): if T == T_max: ans += dp[v] else: t0, t1 = T0[v], T1[v] if t0 == -1: continue ans += (T-t1) % (t1-t0) == 0 if ans == 0: ans = -1 print(ans)