結果
問題 | No.2422 regisys? |
ユーザー | FromBooska |
提出日時 | 2023-08-19 16:51:11 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
MLE
|
実行時間 | - |
コード長 | 2,219 bytes |
コンパイル時間 | 138 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 820,420 KB |
最終ジャッジ日時 | 2024-05-06 23:50:42 |
合計ジャッジ時間 | 4,965 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 29 ms
11,008 KB |
testcase_01 | AC | 30 ms
11,008 KB |
testcase_02 | AC | 31 ms
11,520 KB |
testcase_03 | AC | 32 ms
11,136 KB |
testcase_04 | AC | 29 ms
11,136 KB |
testcase_05 | AC | 52 ms
12,160 KB |
testcase_06 | AC | 68 ms
13,056 KB |
testcase_07 | AC | 35 ms
11,392 KB |
testcase_08 | AC | 48 ms
12,160 KB |
testcase_09 | AC | 32 ms
11,136 KB |
testcase_10 | AC | 31 ms
11,008 KB |
testcase_11 | AC | 37 ms
11,392 KB |
testcase_12 | AC | 31 ms
11,008 KB |
testcase_13 | AC | 50 ms
11,904 KB |
testcase_14 | AC | 30 ms
11,008 KB |
testcase_15 | AC | 48 ms
11,648 KB |
testcase_16 | AC | 33 ms
11,136 KB |
testcase_17 | AC | 29 ms
11,008 KB |
testcase_18 | AC | 31 ms
11,264 KB |
testcase_19 | AC | 57 ms
12,416 KB |
testcase_20 | AC | 63 ms
12,672 KB |
testcase_21 | AC | 31 ms
11,136 KB |
testcase_22 | AC | 33 ms
11,264 KB |
testcase_23 | AC | 44 ms
12,416 KB |
testcase_24 | AC | 31 ms
11,264 KB |
testcase_25 | AC | 34 ms
11,392 KB |
testcase_26 | AC | 27 ms
10,880 KB |
testcase_27 | AC | 32 ms
11,264 KB |
testcase_28 | AC | 34 ms
11,264 KB |
testcase_29 | AC | 31 ms
11,392 KB |
testcase_30 | AC | 31 ms
11,136 KB |
testcase_31 | MLE | - |
testcase_32 | -- | - |
testcase_33 | -- | - |
testcase_34 | -- | - |
testcase_35 | -- | - |
testcase_36 | -- | - |
testcase_37 | -- | - |
testcase_38 | -- | - |
testcase_39 | -- | - |
testcase_40 | -- | - |
testcase_41 | -- | - |
testcase_42 | -- | - |
testcase_43 | -- | - |
testcase_44 | -- | - |
testcase_45 | -- | - |
testcase_46 | -- | - |
testcase_47 | -- | - |
testcase_48 | -- | - |
testcase_49 | -- | - |
testcase_50 | -- | - |
testcase_51 | -- | - |
testcase_52 | -- | - |
testcase_53 | -- | - |
testcase_54 | -- | - |
testcase_55 | -- | - |
testcase_56 | -- | - |
testcase_57 | -- | - |
testcase_58 | -- | - |
testcase_59 | -- | - |
testcase_60 | -- | - |
testcase_61 | -- | - |
ソースコード
# マッチング、最大流でできるか、間に合うか # Start, M人M頂点、N商品N頂点、Goal N, M = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) TC = [] for i in range(M): t, c = map(int, input().split()) TC.append((t, c)) Start = 0 Goal = M+N+1 from collections import defaultdict, deque INF = float('inf') edges = defaultdict(set) cost = [[0]*(M+N+2) for i in range(M+N+2)] for i in range(M): t, c = TC[i] for j in range(N): a = A[j] b = B[j] if (t == 0 and a <= c) or (t == 1 and b <= c): edges[i+1].add(j+M+1) cost[i+1][j+M+1] = 1 # from Start to M nodes for i in range(M): edges[Start].add(i+1) cost[Start][i+1] = 1 # from N nodes to Goal for i in range(N): edges[i+M+1].add(Goal) cost[i+M+1][Goal] = 1 ans = 0 def Ford_Fulkerson(s): #sからFord-Fulkerson global edges global cost global ans queue = deque() #BFS用のdeque queue.append([s,INF]) ed = [True]*(M+N+2+1) #到達済み ed[s] = False route = [0 for i in range(M+N+2+1)] #ルート route[s] = -1 #BFS while queue: s,flow = queue.pop() for t in edges[s]: #s->t if ed[t]: flow = min(cost[s][t],flow) #flow = min(直前のflow,line容量) route[t] = s queue.append([t,flow]) ed[t] = False if t == Goal: #ゴール到達 ans += flow break else: continue break else: return False #ラインの更新 t = Goal s = route[t] while s != -1: #s->tのコスト減少,ゼロになるなら辺を削除 cost[s][t] -= flow if cost[s][t] == 0: edges[s].remove(t) #t->s(逆順)のコスト増加,元がゼロなら辺を作成 if cost[t][s] == 0: edges[t].add(s) cost[t][s] += flow t = s s = route[t] return True while True: if Ford_Fulkerson(Start): continue else: break #print(ans) remaining = N-ans print(remaining)