graphgen.py

[이 글은 이전에 쓰던 블로그에서 작성된 이후 새 블로그로 이전된 글입니다.]

정점 개수와 간선 개수를 입력하면 그에 맞게 그래프의 정보를 생성해 주는 프로그램입니다.

첫 줄에 정점 개수와 간선 개수를 출력하고, 그 아래줄에 연결된 간선들 사이의 정보를 출력해줍니다.

중복된 간선은 출력하지 않는데, 간선 개수가 그 정점 개수로 나올 수 있는 총 간선의 수보다 많다면 프로그램이 끝나지 않는 버그(?)가 있습니다.

from random import randrange

n, m = map(int, raw_input().split())
print n, m

dict = {}

for i in range(m):
    a, b = randrange(0, n), randrange(0, n)
    s = tuple(sorted((a,b)))
    while a==b or s in dict:
        a, b = randrange(0, n), randrange(0, n)
        s = tuple(sorted((a,b)))
    dict[s] = 1
    print a, b

댓글 남기기