# Tony Hyun Kim
# CS 224W, PS0, Problem 2
# 2013 10 01

# Need to document:
#   1) GetMxOutDegNId
#   2) AddSelfEdges
#   3) GetBiConSzCnt

import snap
source = "example.txt"
G1 = snap.PNGraph.New()
G1.AddNode(1)
G1.AddNode(2)
G1.AddNode(3)
G1.AddEdge(1,2)
G1.AddEdge(2,1)
G1.AddEdge(1,3)
G1.AddEdge(1,1)
G1.AddEdge(2,3)

G2 = snap.PUNGraph.New()
G2.AddNode(1)
G2.AddNode(2)
G2.AddNode(3)
G2.AddNode(4)
G2.AddEdge(1,2)
G2.AddEdge(1,3)
G2.AddEdge(1,4)
G2.AddEdge(2,4)

G3 = snap.PNEANet.New()
G3.AddNode(1)
G3.AddNode(2)
G3.AddNode(3)
G3.AddEdge(1,2)
G3.AddEdge(2,1)
G3.AddEdge(1,3)
G3.AddEdge(1,1)
G3.AddEdge(2,3)

for n in G3.Nodes():
    print "Node {0} with out-degree {1} and in degree {2}".format(n.GetId(), n.GetOutDeg(), n.GetInDeg())

nid = snap.GetMxOutDegNId(G3)
print nid
