結果
問題 |
No.1340 おーじ君をさがせ
|
ユーザー |
![]() |
提出日時 | 2020-09-28 18:52:09 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 575 bytes |
コンパイル時間 | 276 ms |
コンパイル使用メモリ | 82,256 KB |
実行使用メモリ | 76,800 KB |
最終ジャッジ日時 | 2024-11-26 19:27:08 |
合計ジャッジ時間 | 4,497 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 47 WA * 12 |
ソースコード
# 嘘解法 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 print(ans)