其实很简单就是打开文件A,只讀打开文件B,只写循环读取A每一行,如果找到for找range(,把range(的左括号之前全部拷贝到新文件并把参数统统带上int()之后拼上右边DONE。如果没有找到for直接拷贝整行。
我的改动不是要避免重复加入节点,而是为了避免重复加入节点后的for循环.
答案不對是因为: 有的节点(X)可能与起始节点(S)相邻, 但又有路径(P)使得X与S的距离更大(假设是3). 作为与S距离为1的节点, 他有资格把所有与他距离为3的节点加上, 但莋为距离为3的节点, 他只能把与他距离是1的节点加上. 如果X先作为距离为3的节点被加进去了, 他的距离为1的"身份"就被屏蔽掉了, 得到的答案就少了佷多.
解决的办法是用宽度优先的搜索, 或者更直接的: 先列出距离是1的节点, 再出距离是2的节点...
其实很简单就是打开文件A,只讀打开文件B,只写循环读取A每一行,如果找到for找range(,把range(的左括号之前全部拷贝到新文件并把参数统统带上int()之后拼上右边DONE。如果没有找到for直接拷贝整行。