Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 14, 2012 23:33:45

dingo
Зарегистрирован: 2012-03-29
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

Достижимые вершины

Задан неориентированный граф , надо определить достижимые вершины из вершины S
Формат входного файла
В 1 строчке записаны 3 числа N M S
N кол-во вершин
M кол-во ребер
Далее записаны M строк. Каждая строка задает одно ребро и содержит 2 числа
Формат выходного файла
Вывести достижимые вершины в порядке возрастания

def graph(rebra,start):
	stack=[start]
	past=[]
	otvet=[]
	while len(stack)!=0:
		for q in rebra:
			if q[0]==q[1]:
				continue
			if q[0]==stack[0] and q not in past:
				stack.append(q[1])
				past.append(q)
			elif q[1]==stack[0] and q not in past:
				stack.append(q[0])
				past.append(q)
		otvet.append(stack.pop(0))
	return otvet
f=open("graph.in")
l=f.read()
s=l.split()
rebra_int=int(s[1])
start=int(s[2])
rebra=[]
q=3
while rebra_int!=0:
	rebra.append((int(s[q]),int(s[q+1])))
	q+=2
	rebra_int-=1
temp=graph(rebra,start)
temp.sort()
otvet=""
for q in temp:
	otvet=otvet+str(q)+" "
f1=open("graph.out","w")
f1.write(otvet)
f1.close()
На 4 тесте вываливает Wrong Answer

Отредактировано dingo (Апрель 14, 2012 23:44:36)

Офлайн

#2 Апрель 15, 2012 20:43:18

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Достижимые вершины

class node():
def __init__(self,ind):
self.ind=ind
self.done=0
self.neib=[]
def M(self):
if not self.done:
self.done=1
for i in self.neib:
i.M()

nnode=5
links=[[0,0],[0,1],[4,3]]
nodes=[node(i) for i in range(nnode)]
for i,j in links:
nodes[i].neib.append(nodes[j])
nodes[j].neib.append(nodes[i])
nodes[0].M()
print sorted([i.ind for i in nodes if i.done])

Что про этот код говорит тест 4?



Отредактировано doza_and (Апрель 15, 2012 20:46:06)

Офлайн

#3 Апрель 16, 2012 08:48:20

dingo
Зарегистрирован: 2012-03-29
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

Достижимые вершины

Cпс все работает

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version