結果
問題 |
No.1340 おーじ君をさがせ
|
ユーザー |
![]() |
提出日時 | 2020-09-28 18:51:48 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 600 bytes |
コンパイル時間 | 220 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 77,132 KB |
最終ジャッジ日時 | 2024-11-26 19:27:27 |
合計ジャッジ時間 | 4,691 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 37 WA * 22 |
ソースコード
# 嘘解法 N, M, T, *nums = map(int, open(0).read().split()) G = set(zip(nums[::2], nums[1::2])) M = len(G) T_max = min(T, 100000//(M+1)) 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)