所以,我开始了这个问题,我必须带着卷心菜、狼和山羊过河,而不是将卷心菜和山羊或狼和山羊单独放在同一侧。
我开始对如何处理这个问题感到非常困惑。基本上我正在考虑添加一堆会导致正确结果的顶点,并且只需让程序演示广度优先和深度优先搜索,而无需复杂的顶点生成过程。我是否正确地考虑了这一点,还是有更好的方法?
到目前为止,这是我的主要方法的代码。
package project3;
import java.util.*;
import java.io.*;
public class Project3 extends Network{
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
new Project3().run();
} //main method
public void run()
{
String start ="fwgcR",
finish = "Rfwgc";
addVertex(start);
addVertex("fwgRc");
addVertex("fwcRg");
addVertex(finish);
//Breadth First iterator
Iterator<String> itr = network.breadthFirstIterator (start);
while (itr.hasNext())
System.out.print (itr.next() + " ");
//Depth First Iterator
itr = network.depthFirstIterator (start);
while (itr.hasNext())
System.out.print (itr.next() + " ");
} // method run
}