Найти - Пользователи
Полная версия: Достижимые вершины
Начало » Центр помощи » Достижимые вершины
1
dingo
Задан неориентированный граф , надо определить достижимые вершины из вершины 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
doza_and
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?
dingo
Cпс все работает
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB