# Tony Hyun Kim
# CS 224w, PS 3, Problem 4
# Generate the graphs and save to file
import random
import snap

# Target parameters
n = 10670 # Number of nodes
m = 22002 # Number of edges

# Generate the random network
#------------------------------------------------------------
G1 = snap.TUNGraph.New()

for nid in range(n):
    G1.AddNode(nid)

x = 0 # Counter for number of random edges added
while (x < m):
    n1 = random.randint(0, n-1)
    n2 = random.randint(0, n-1)
    if (not G1.IsEdge(n1,n2) and (n1 != n2)):
        G1.AddEdge(n1,n2)
        x += 1

snap.SaveEdgeList(G1, "gnm.txt")
