Submission #3623667
Source Code Expand
n, m = map(int, input().split()) #行列 s = [] for i in range(m):#h:高さ s.append([int(w) for w in input().split()]) s.sort(key=lambda x:(x[0], x[1])) adj = [] for i in range(n): adj.append([]) for i in range(n): for j in range(n): adj[i].append(0) #鱗屑行列 for i in range(m): adj[s[i][0] - 1][s[i][1] - 1] = 1 adj[s[i][1] - 1][s[i][0] - 1] = 1 #深さ優先探索 labelli = [-1]*n label = 0 v = 0 labelli[0] = label p = 0 back = [] backnumber = [] q = 0 count = 0 for h in range(m): if h == 0: adj[s[h][0] - 1][s[h][1] - 1] = 0 adj[s[h][1] - 1][s[h][0] - 1] = 0 else: adj[s[h - 1][0] - 1][s[h - 1][1] - 1] = 1 adj[s[h - 1][1] - 1][s[h - 1][0] - 1] = 1 adj[s[h][0] - 1][s[h][1] - 1] = 0 adj[s[h][1] - 1][s[h][0] - 1] = 0 q = 0 labelli = [-1] * n label = 0 labelli[0] = label while q == 0: for j in range(n): if adj[v][j] == 1 and labelli[j] == -1:#未探索部分を掘る label += 1 v = j labelli[j] = label p = 1 break if v == 0: for l in range(n): if adj[v][j] == 1 and labelli[j] == -1:#初期地点で、未探索部分があるかチェック、なければ終了 break if l == n - 1: q = 1 p = 1 if min(labelli) == -1: count += 1 if p == 0:#未探索がなければ戻る for k in range(n): if adj[v][k] == 1: if labelli[v] > labelli[k]: back.append(abs(labelli[v] - labelli[k])) backnumber.append(k) v = backnumber[back.index(min(back))] back = [] backnumber = [] p = 0 print(count)
Submission Info
Submission Time | |
---|---|
Task | C - Bridge |
User | yosho |
Language | Python (3.4.3) |
Score | 300 |
Code Size | 1992 Byte |
Status | AC |
Exec Time | 62 ms |
Memory | 3192 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 18 ms | 3192 KB |
sample_02.txt | AC | 18 ms | 3192 KB |
sample_03.txt | AC | 18 ms | 3192 KB |
subtask_1_1.txt | AC | 38 ms | 3192 KB |
subtask_1_10.txt | AC | 19 ms | 3192 KB |
subtask_1_11.txt | AC | 33 ms | 3192 KB |
subtask_1_12.txt | AC | 27 ms | 3192 KB |
subtask_1_13.txt | AC | 56 ms | 3192 KB |
subtask_1_14.txt | AC | 54 ms | 3192 KB |
subtask_1_15.txt | AC | 54 ms | 3192 KB |
subtask_1_16.txt | AC | 57 ms | 3192 KB |
subtask_1_17.txt | AC | 57 ms | 3192 KB |
subtask_1_2.txt | AC | 62 ms | 3192 KB |
subtask_1_3.txt | AC | 25 ms | 3192 KB |
subtask_1_4.txt | AC | 34 ms | 3192 KB |
subtask_1_5.txt | AC | 31 ms | 3192 KB |
subtask_1_6.txt | AC | 35 ms | 3192 KB |
subtask_1_7.txt | AC | 47 ms | 3192 KB |
subtask_1_8.txt | AC | 29 ms | 3192 KB |
subtask_1_9.txt | AC | 19 ms | 3192 KB |