upload exercise files
This commit is contained in:
parent
9a1f60c68f
commit
f94652791a
293
GBA100.txt
Normal file
293
GBA100.txt
Normal file
@ -0,0 +1,293 @@
|
|||||||
|
100
|
||||||
|
291
|
||||||
|
0 3
|
||||||
|
0 12
|
||||||
|
0 5
|
||||||
|
0 6
|
||||||
|
0 15
|
||||||
|
1 44
|
||||||
|
1 3
|
||||||
|
1 4
|
||||||
|
1 45
|
||||||
|
1 55
|
||||||
|
2 3
|
||||||
|
2 4
|
||||||
|
2 9
|
||||||
|
2 10
|
||||||
|
2 13
|
||||||
|
2 17
|
||||||
|
2 82
|
||||||
|
2 52
|
||||||
|
2 54
|
||||||
|
2 68
|
||||||
|
3 4
|
||||||
|
3 5
|
||||||
|
3 6
|
||||||
|
3 7
|
||||||
|
3 9
|
||||||
|
3 11
|
||||||
|
3 13
|
||||||
|
3 15
|
||||||
|
3 16
|
||||||
|
3 19
|
||||||
|
3 21
|
||||||
|
3 26
|
||||||
|
3 27
|
||||||
|
3 28
|
||||||
|
3 29
|
||||||
|
3 32
|
||||||
|
3 34
|
||||||
|
3 36
|
||||||
|
3 37
|
||||||
|
3 38
|
||||||
|
3 50
|
||||||
|
3 51
|
||||||
|
3 63
|
||||||
|
3 64
|
||||||
|
3 65
|
||||||
|
3 69
|
||||||
|
3 72
|
||||||
|
3 80
|
||||||
|
3 84
|
||||||
|
3 85
|
||||||
|
3 89
|
||||||
|
4 5
|
||||||
|
4 6
|
||||||
|
4 7
|
||||||
|
4 8
|
||||||
|
4 10
|
||||||
|
4 11
|
||||||
|
4 14
|
||||||
|
4 19
|
||||||
|
4 22
|
||||||
|
4 23
|
||||||
|
4 27
|
||||||
|
4 30
|
||||||
|
4 32
|
||||||
|
4 56
|
||||||
|
4 60
|
||||||
|
4 61
|
||||||
|
4 65
|
||||||
|
4 73
|
||||||
|
4 82
|
||||||
|
4 88
|
||||||
|
4 95
|
||||||
|
5 34
|
||||||
|
5 42
|
||||||
|
5 98
|
||||||
|
5 16
|
||||||
|
5 28
|
||||||
|
6 7
|
||||||
|
6 8
|
||||||
|
6 15
|
||||||
|
6 18
|
||||||
|
6 20
|
||||||
|
6 24
|
||||||
|
6 27
|
||||||
|
6 35
|
||||||
|
6 42
|
||||||
|
6 45
|
||||||
|
6 48
|
||||||
|
6 49
|
||||||
|
6 53
|
||||||
|
6 58
|
||||||
|
6 61
|
||||||
|
6 65
|
||||||
|
6 66
|
||||||
|
6 77
|
||||||
|
6 79
|
||||||
|
6 80
|
||||||
|
6 87
|
||||||
|
6 90
|
||||||
|
6 95
|
||||||
|
6 98
|
||||||
|
7 68
|
||||||
|
7 38
|
||||||
|
7 71
|
||||||
|
7 8
|
||||||
|
7 10
|
||||||
|
7 12
|
||||||
|
7 13
|
||||||
|
7 17
|
||||||
|
7 40
|
||||||
|
7 23
|
||||||
|
7 36
|
||||||
|
7 92
|
||||||
|
7 74
|
||||||
|
8 67
|
||||||
|
8 37
|
||||||
|
8 9
|
||||||
|
8 11
|
||||||
|
8 44
|
||||||
|
8 18
|
||||||
|
8 28
|
||||||
|
9 64
|
||||||
|
9 73
|
||||||
|
9 67
|
||||||
|
9 66
|
||||||
|
9 93
|
||||||
|
9 17
|
||||||
|
9 50
|
||||||
|
9 35
|
||||||
|
9 20
|
||||||
|
9 21
|
||||||
|
9 40
|
||||||
|
9 91
|
||||||
|
9 29
|
||||||
|
9 30
|
||||||
|
10 33
|
||||||
|
10 12
|
||||||
|
10 14
|
||||||
|
10 48
|
||||||
|
10 46
|
||||||
|
10 22
|
||||||
|
10 23
|
||||||
|
10 59
|
||||||
|
10 30
|
||||||
|
11 97
|
||||||
|
11 69
|
||||||
|
11 39
|
||||||
|
11 14
|
||||||
|
11 49
|
||||||
|
11 89
|
||||||
|
11 94
|
||||||
|
12 41
|
||||||
|
12 85
|
||||||
|
12 58
|
||||||
|
13 71
|
||||||
|
13 81
|
||||||
|
13 86
|
||||||
|
14 44
|
||||||
|
14 16
|
||||||
|
14 83
|
||||||
|
14 20
|
||||||
|
14 52
|
||||||
|
16 96
|
||||||
|
16 18
|
||||||
|
17 21
|
||||||
|
17 81
|
||||||
|
18 47
|
||||||
|
18 56
|
||||||
|
18 19
|
||||||
|
18 22
|
||||||
|
18 24
|
||||||
|
18 25
|
||||||
|
18 31
|
||||||
|
19 68
|
||||||
|
19 83
|
||||||
|
19 53
|
||||||
|
19 55
|
||||||
|
19 57
|
||||||
|
19 92
|
||||||
|
19 62
|
||||||
|
20 43
|
||||||
|
20 53
|
||||||
|
20 54
|
||||||
|
21 32
|
||||||
|
21 70
|
||||||
|
21 47
|
||||||
|
21 82
|
||||||
|
21 24
|
||||||
|
21 25
|
||||||
|
21 26
|
||||||
|
21 63
|
||||||
|
22 90
|
||||||
|
22 31
|
||||||
|
23 62
|
||||||
|
24 54
|
||||||
|
24 25
|
||||||
|
24 26
|
||||||
|
25 96
|
||||||
|
25 33
|
||||||
|
25 36
|
||||||
|
25 81
|
||||||
|
25 39
|
||||||
|
25 40
|
||||||
|
25 46
|
||||||
|
25 56
|
||||||
|
25 72
|
||||||
|
25 29
|
||||||
|
25 94
|
||||||
|
25 31
|
||||||
|
26 67
|
||||||
|
27 51
|
||||||
|
27 37
|
||||||
|
29 78
|
||||||
|
29 70
|
||||||
|
30 97
|
||||||
|
31 34
|
||||||
|
31 39
|
||||||
|
31 49
|
||||||
|
31 58
|
||||||
|
31 59
|
||||||
|
31 60
|
||||||
|
31 63
|
||||||
|
32 96
|
||||||
|
32 33
|
||||||
|
33 98
|
||||||
|
33 35
|
||||||
|
33 91
|
||||||
|
34 41
|
||||||
|
34 43
|
||||||
|
34 45
|
||||||
|
34 79
|
||||||
|
34 52
|
||||||
|
35 78
|
||||||
|
36 38
|
||||||
|
36 41
|
||||||
|
36 42
|
||||||
|
36 76
|
||||||
|
36 55
|
||||||
|
36 61
|
||||||
|
36 62
|
||||||
|
37 46
|
||||||
|
37 97
|
||||||
|
38 74
|
||||||
|
38 75
|
||||||
|
38 77
|
||||||
|
38 47
|
||||||
|
38 88
|
||||||
|
39 88
|
||||||
|
42 71
|
||||||
|
42 43
|
||||||
|
42 48
|
||||||
|
42 59
|
||||||
|
45 51
|
||||||
|
45 73
|
||||||
|
46 76
|
||||||
|
46 50
|
||||||
|
46 83
|
||||||
|
46 86
|
||||||
|
46 89
|
||||||
|
47 92
|
||||||
|
47 76
|
||||||
|
47 87
|
||||||
|
47 90
|
||||||
|
47 60
|
||||||
|
49 99
|
||||||
|
49 79
|
||||||
|
49 85
|
||||||
|
50 57
|
||||||
|
52 93
|
||||||
|
53 57
|
||||||
|
56 80
|
||||||
|
57 84
|
||||||
|
59 64
|
||||||
|
59 72
|
||||||
|
59 91
|
||||||
|
60 86
|
||||||
|
61 75
|
||||||
|
61 84
|
||||||
|
61 93
|
||||||
|
63 75
|
||||||
|
63 69
|
||||||
|
64 66
|
||||||
|
65 74
|
||||||
|
66 77
|
||||||
|
68 70
|
||||||
|
71 87
|
||||||
|
72 99
|
||||||
|
73 78
|
||||||
|
85 94
|
||||||
|
91 99
|
||||||
|
92 95
|
2993
GBA1000.txt
Normal file
2993
GBA1000.txt
Normal file
File diff suppressed because it is too large
Load Diff
39
analyse_p3.py
Normal file
39
analyse_p3.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
import numpy as np
|
||||||
|
import networkx as nx
|
||||||
|
import argparse
|
||||||
|
import sys
|
||||||
|
|
||||||
|
parser=argparse.ArgumentParser(description='')
|
||||||
|
parser.add_argument('-g', '--graph', dest='graph', action='store', default=None)
|
||||||
|
parser.add_argument('-d', '--destroy', dest='destroy', action='store', default=None)
|
||||||
|
parser.add_argument('-n', '--node', dest='isnode', action='store_const', const=False, default = True)
|
||||||
|
args=parser.parse_args()
|
||||||
|
|
||||||
|
if not args.graph or not args.destroy:
|
||||||
|
print >> sys.stderr, 'need graph and destroylist as argument -g and/or -m'
|
||||||
|
exit()
|
||||||
|
|
||||||
|
D=[]
|
||||||
|
with open(args.destroy) as inf:
|
||||||
|
for line in inf:
|
||||||
|
D.append(int(line))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
with open(args.graph) as ing:
|
||||||
|
n=int(ing.readline())
|
||||||
|
m=int(ing.readline())
|
||||||
|
A=[[0]*n for _ in range(n)]
|
||||||
|
for _ in range(m):
|
||||||
|
if not args.isnode:
|
||||||
|
if _ in D:
|
||||||
|
continue
|
||||||
|
[u,v]=map(int, ing.readline().split())
|
||||||
|
if args.isnode:
|
||||||
|
if u in D or v in D:
|
||||||
|
continue
|
||||||
|
A[u][v]=1
|
||||||
|
A[v][u]=1
|
||||||
|
G=nx.Graph(np.array(A))
|
||||||
|
|
||||||
|
print (len(D), [len(c) for c in sorted(nx.connected_components(G), key=len, reverse=True)] )
|
41
destroy_p3.py
Normal file
41
destroy_p3.py
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
import numpy as np
|
||||||
|
import networkx as nx
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
parser=argparse.ArgumentParser(description='')
|
||||||
|
parser.add_argument('-g', '--graph', dest='graph', action='store', default=None)
|
||||||
|
args=parser.parse_args()
|
||||||
|
|
||||||
|
if not args.graph:
|
||||||
|
print ("need a graph as input")
|
||||||
|
exit()
|
||||||
|
|
||||||
|
def read_graph(graph_file):
|
||||||
|
with open(graph_file) as f:
|
||||||
|
n=int(f.readline())
|
||||||
|
m=int(f.readline())
|
||||||
|
A=[[0]*n for _ in range(n)]
|
||||||
|
for _ in range(m):
|
||||||
|
[u,v]=map(int, f.readline().split())
|
||||||
|
A[u][v]=1
|
||||||
|
A[v][u]=1
|
||||||
|
G=nx.Graph(np.array(A))
|
||||||
|
return G
|
||||||
|
|
||||||
|
def max_comp_size(G):
|
||||||
|
return max([len(c) for c in nx.connected_components(G)])
|
||||||
|
|
||||||
|
del_list=[]
|
||||||
|
G=read_graph(args.graph)
|
||||||
|
n=len(G.nodes)
|
||||||
|
while max_comp_size(G) > n/2:
|
||||||
|
u=np.random.choice(G.nodes)
|
||||||
|
if u not in del_list:
|
||||||
|
del_list.append(u)
|
||||||
|
G.remove_node(u)
|
||||||
|
|
||||||
|
#print len(del_list), del_list
|
||||||
|
|
||||||
|
|
||||||
|
for u in del_list:
|
||||||
|
print (u)
|
3
gba10d.txt
Normal file
3
gba10d.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
6
|
||||||
|
8
|
||||||
|
2
|
Loading…
Reference in New Issue
Block a user