亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? breadth.java

?? 提供了深度優先搜索,廣度優先搜索,添加啟發信息的最小代價搜索,查找多個解,查找最優解的范例程序.
?? JAVA
字號:
// Find connections using a breadth-first search.
import java.util.*;
import java.io.*;

// Flight information.
class FlightInfo {
  String from;
  String to;
  int distance;
  boolean skip; // used in backtracking

  FlightInfo(String f, String t, int d) {
    from = f;
    to = t;
    distance = d;
    skip = false;
  }
}

class Breadth {
  final int MAX = 100;

  // This array holds the flight information.
  FlightInfo flights[] = new FlightInfo[MAX]; 

  int numFlights = 0; // number of entries in flight array

  Stack btStack = new Stack(); // backtrack stack

  public static void main(String args[])
  {
    String to, from;
    Breadth ob = new Breadth();
    BufferedReader br = new 
      BufferedReader(new InputStreamReader(System.in)); 
 
    ob.setup();  

    try { 
      System.out.print("From? ");
      from = br.readLine(); 
      System.out.print("To? ");
      to = br.readLine(); 

      ob.isflight(from, to);

      if(ob.btStack.size() != 0)
        ob.route(to);
    } catch (IOException exc) { 
      System.out.println("Error on input.");
    }
  }
  
  // Initialize the flight database.
  void setup()
  {
    addFlight("New York", "Chicago", 900);
    addFlight("Chicago", "Denver", 1000);
    addFlight("New York", "Toronto", 500);
    addFlight("New York", "Denver", 1800);
    addFlight("Toronto", "Calgary", 1700);
    addFlight("Toronto", "Los Angeles", 2500);
    addFlight("Toronto", "Chicago", 500);
    addFlight("Denver", "Urbana", 1000);
    addFlight("Denver", "Houston", 1000);
    addFlight("Houston", "Los Angeles", 1500);
    addFlight("Denver", "Los Angeles", 1000);
  }
  
  // Put flights into the database.
  void addFlight(String from, String to, int dist)
  {  
    if(numFlights < MAX) {
      flights[numFlights] =
        new FlightInfo(from, to, dist);

      numFlights++;
    }
    else System.out.println("Flight database full.\n");
  }

  // Show the route and total distance.
  void route(String to)
  {
    Stack rev = new Stack();
    int dist = 0;
    FlightInfo f;
    int num = btStack.size();

    // Reverse the stack to display route.
    for(int i=0; i < num; i++) 
      rev.push(btStack.pop());

    for(int i=0; i < num; i++) {
      f = (FlightInfo) rev.pop();
      System.out.print(f.from + " to ");
      dist += f.distance;
    }

    System.out.println(to);
    System.out.println("Distance is " + dist);
  }

  /* If there is a flight between from and to,
     return the distance of flight;
     otherwise, return 0. */
  int match(String from, String to)
  {
    for(int i=numFlights-1; i > -1; i--) {
      if(flights[i].from.equals(from) &&
         flights[i].to.equals(to) &&
         !flights[i].skip)
      {
        flights[i].skip = true; // prevent reuse
        return flights[i].distance;
      }
    }

    return 0; // not found 
  }
  
  // Given from, find any connection.
  FlightInfo find(String from)
  {
    for(int i=0; i < numFlights; i++) {
      if(flights[i].from.equals(from) &&
         !flights[i].skip)
      {
        FlightInfo f = new FlightInfo(flights[i].from,
                             flights[i].to,
                             flights[i].distance);
        flights[i].skip = true; // prevent reuse

        return f;
      }
    }

    return null;
  }
  
  /* Determine if there is a route between from and to
     using breadth-first search. */
  void isflight(String from, String to)
  {
    int dist, dist2;
    FlightInfo f;

    // This stack is needed by the breadth-first search.
    Stack resetStck = new Stack();

    // See if at destination.
    dist = match(from, to);
    if(dist != 0) {
      btStack.push(new FlightInfo(from, to, dist));
      return;
    }

    /* Following is the first part of the breadth-first
       modification.  It checks all connecting flights
       from a specified node. */
    while((f = find(from)) != null) {
      resetStck.push(f);
      if((dist = match(f.to, to)) != 0) {
        resetStck.push(f.to);
        btStack.push(new FlightInfo(from, f.to, f.distance));
        btStack.push(new FlightInfo(f.to, to, dist));
        return;
      }
    }

    /* The following code resets the skip fields set by
       preceding while loop. This is also part of the
       breadth-first modifiction. */
    int i = resetStck.size();
    for(; i!=0; i--)
      resetSkip((FlightInfo) resetStck.pop());

    // Try another connection.
    f = find(from);
    if(f != null) {
      btStack.push(new FlightInfo(from, to, f.distance));
      isflight(f.to, to);
    }
    else if(btStack.size() > 0) {
      // Backtrack and try another connection.
      f = (FlightInfo) btStack.pop();
      isflight(f.from, f.to);
    }
  }

  // Reset skip field of specified flight.
  void resetSkip(FlightInfo f) {
    for(int i=0; i< numFlights; i++)
      if(flights[i].from.equals(f.from) &&
         flights[i].to.equals(f.to))
           flights[i].skip = false;
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91黄色激情网站| 日韩av中文字幕一区二区| 一个色综合网站| 久久99久国产精品黄毛片色诱| 不卡视频一二三四| 精品国产a毛片| 日韩精品视频网站| 在线看国产一区二区| 欧美国产一区二区在线观看| 日本va欧美va精品| 欧美日韩日本视频| 亚洲女人小视频在线观看| 国产成人亚洲综合a∨婷婷| 欧美一级日韩不卡播放免费| 亚洲午夜私人影院| 一本大道综合伊人精品热热| 国产欧美日韩亚州综合| 极品少妇xxxx精品少妇| 在线综合+亚洲+欧美中文字幕| 亚洲精品一卡二卡| 91丨九色丨黑人外教| 国产精品黄色在线观看| 不卡免费追剧大全电视剧网站| 日本一区二区综合亚洲| 国精品**一区二区三区在线蜜桃| 91精品国产入口| 日韩精品欧美精品| 欧美日韩国产片| 日韩精品成人一区二区三区 | 天天色天天爱天天射综合| 91久久奴性调教| 亚洲制服丝袜一区| 欧美日韩成人在线| 日本视频免费一区| 日韩一区二区三区在线| 久久狠狠亚洲综合| 久久人人97超碰com| 国产二区国产一区在线观看| 中文av一区二区| 99久久综合99久久综合网站| 亚洲欧美一区二区三区极速播放| 日本乱人伦一区| 视频一区欧美精品| 日韩欧美在线一区二区三区| 国内一区二区在线| 国产精品久久久久7777按摩| 欧洲一区二区三区免费视频| 亚洲成人av一区二区| 精品少妇一区二区三区免费观看 | 久久久久久久久久电影| 国产成人激情av| 亚洲日本在线天堂| 在线成人高清不卡| 精品亚洲国内自在自线福利| 亚洲国产精品成人综合| 在线免费观看视频一区| 九一九一国产精品| 亚洲图片你懂的| 91精品国产福利在线观看| 国产成人免费在线视频| 一区二区三区四区中文字幕| 欧美一区二区三区免费在线看| 国产很黄免费观看久久| 亚洲国产中文字幕在线视频综合| 欧美成人aa大片| 97久久精品人人做人人爽| 亚洲va欧美va国产va天堂影院| 久久综合九色综合欧美就去吻| 91丨porny丨国产| 亚洲福利一区二区| 日本一区二区三区久久久久久久久不| 色狠狠色狠狠综合| 国产另类ts人妖一区二区| 精品国产区一区| 国内外成人在线视频| 国产精品久久久久一区二区三区| 欧美美女bb生活片| 国产91精品一区二区麻豆网站| 亚洲国产欧美在线人成| 久久久影院官网| 欧洲国内综合视频| 国产91精品一区二区麻豆亚洲| 亚洲成人资源网| 亚洲国产精品国自产拍av| 欧美精品一二三区| 色综合av在线| 国产风韵犹存在线视精品| 日韩av一级电影| 亚洲夂夂婷婷色拍ww47| 中文文精品字幕一区二区| 日韩一区二区三区精品视频| 日本电影欧美片| 国产成人综合亚洲网站| 国产美女精品在线| 亚洲影院理伦片| 中文天堂在线一区| 久久久美女毛片| 欧美一区二区三区免费观看视频| 一本色道久久综合亚洲91| 成人在线视频一区| 国产精品一区二区黑丝| 久久成人综合网| 日韩高清在线电影| 午夜欧美电影在线观看| 亚洲精品亚洲人成人网| 中文字幕一区在线| 国产精品美女久久久久久久| 久久久久国产精品麻豆| 精品国产乱码久久久久久图片| 7777精品伊人久久久大香线蕉完整版 | 欧美理论片在线| 91在线丨porny丨国产| 粉嫩av一区二区三区粉嫩| 国产一区二区日韩精品| 狠狠色综合色综合网络| 国产在线精品一区二区夜色| 精品一区二区在线视频| 国产一区欧美日韩| 国产精品一二三四五| 国产精品性做久久久久久| 国产成人免费视频一区| 国产成人8x视频一区二区| 国产aⅴ综合色| 成人动漫av在线| 色婷婷亚洲精品| 717成人午夜免费福利电影| 日韩一级完整毛片| 久久久青草青青国产亚洲免观| 亚洲国产高清不卡| 一区二区三区中文字幕精品精品| 亚洲国产精品影院| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久99国产精品尤物| 成人动漫一区二区在线| 日本精品一区二区三区四区的功能| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 在线观看成人小视频| 欧美肥妇bbw| 久久蜜桃香蕉精品一区二区三区| 国产精品视频你懂的| 亚洲欧美另类久久久精品2019| 精品一区二区免费| 国产乱码字幕精品高清av| 91色|porny| 91精品国产欧美一区二区成人| 久久蜜桃一区二区| 亚洲永久免费视频| 国产精品亚洲一区二区三区妖精 | 久久精品99国产精品日本| 国产一区二区三区免费| 91免费国产视频网站| 欧美成人艳星乳罩| 亚洲欧美精品午睡沙发| 玖玖九九国产精品| 色悠悠久久综合| 91精品国产色综合久久久蜜香臀| 中文字幕在线观看一区二区| 免费成人在线观看| 91年精品国产| 久久综合九色综合欧美就去吻| 亚洲一线二线三线久久久| 国产成人高清在线| 欧美一区二区三区免费在线看| 日韩毛片视频在线看| 精品一区二区久久| 欧美裸体一区二区三区| 亚洲日本中文字幕区| 高清国产一区二区| 欧美一区二区三区在线电影| 亚洲免费观看高清完整| 国产乱人伦偷精品视频免下载 | av在线不卡观看免费观看| 欧美一级一级性生活免费录像| 亚洲另类在线制服丝袜| 高清在线观看日韩| 久久综合99re88久久爱| 天堂久久久久va久久久久| 日本久久电影网| 亚洲视频在线观看三级| 国产精品一级黄| 26uuuu精品一区二区| 免费成人在线播放| 欧美色综合网站| 亚洲欧美另类久久久精品| 成人黄色软件下载| 国产女人aaa级久久久级| 麻豆国产精品官网| 欧美一级片免费看| 日韩和欧美的一区| 欧美久久久一区| 一区二区三区不卡视频在线观看 | 91久久精品午夜一区二区| 日本一区二区成人在线| 色网站国产精品| |精品福利一区二区三区| 成人av网站免费观看| 中文字幕巨乱亚洲| 成人黄色片在线观看| 中文字幕在线观看一区| 色哟哟在线观看一区二区三区|