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

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

?? javatagle.cpp

?? 數字三角形問題,使用動態(tài)規(guī)劃算法解決問題,包含輸入輸出文件
?? CPP
字號:
思路: 
1.算出每個節(jié)點的規(guī)劃值(也就是待比較的最大值),并記錄搜索路徑 
2.取三角形底邊所有規(guī)劃值中的最大值 
3.輸出路徑 

主程序 

 import  java.util. * ;
 /** 
 *  用動態(tài)規(guī)劃法求出最優(yōu)路徑
 *   @author  zqc
 *  */ 
  public   class  DynamicSolveTrianglePath   {
    
     private  String[][] str_triangle  =   null ;
     private  Node[][] triangle_nodes  =   null ;
     private  List nodes;
     private  List paths;
    
     // 節(jié)點 
       static   class  Node  {
         private   int  value;
         private  List path  =   new  Vector();
         public  List getPath()   {
             return  path;
        } 
          public   void  setPath(List p)  {
            path  =  p;
        } 
         // n=(0,0) or (0,1) or (2,2) 
           public   void  addPath(String n)  {
            path.add(n);
        } 
          public   void  addPath(List pa)  {
            path.addAll(pa);
        } 
          public   int  getValue()   {
             return  value;
        } 
          public   void  setValue( int  value)   {
             this .value  =  value;
        } 
    } 
    
     public  DynamicSolveTrianglePath()  {
        initNodes();
        findPath();
    } 
    
     // 從根節(jié)點開始,逆向推解出到達所有節(jié)點的最佳路徑
    private void initNodes(){
        this.str_triangle = ReadTriangle.getTriangle();
        triangle_nodes = new Node[str_triangle.length][];
        nodes = new Vector();
        for(int i = 0 ; i < str_triangle.length; i++){
            triangle_nodes[i] = new Node[str_triangle[i].length];
            for(int j = 0 ; j< str_triangle[i].length;j++){
                String currentPath = "("+i+","+j+")";
                Node n = new Node();
               if(i==0&&j==0){
                   n.setValue(c(str_triangle[0][0]));
                   n.addPath(currentPath);
                   triangle_nodes[i][j] = n;
                   continue;
               }
               //左右邊界節(jié)點
               if((j==0||j==str_triangle[i].length-1)){
                   if(i==1){//第2行的節(jié)點
                       int value = c(str_triangle[0][0])+c(str_triangle[i][j]);
                       List ph = triangle_nodes[0][0].getPath();
                       n.addPath(ph);
                       n.addPath(currentPath);
                       n.setValue(value);
                       ph = null;
                   }else{//0,1行以下的其他邊界節(jié)點
                     int value = j==0?c(str_triangle[i][j])+triangle_nodes[i-1][j].getValue():
                         c(str_triangle[i][j])+triangle_nodes[i-1][j-1].getValue();
                     List ph = j==0?triangle_nodes[i-1][j].getPath():
                         triangle_nodes[i-1][j-1].getPath();
                     n.addPath(ph);
                     n.addPath(currentPath);
                     n.setValue(value);
                   }
               }else{//除邊界節(jié)點外其他節(jié)點
                       Node node1 = triangle_nodes[i-1][j-1];
                       Node node2 = triangle_nodes[i-1][j];
                       Node bigger = max(node1,node2);
                       List ph = bigger.getPath();
                       n.addPath(ph);
                       n.addPath(currentPath);
                       int val = bigger.getValue()+c(str_triangle[i][j]);
                       n.setValue(val);
               }
              triangle_nodes[i][j] = n; 
              n = null;
            }//end of for j
        }//end of for i
    }
    
    private Node max(Node node1,Node node2){
        int i1 = node1.getValue();
        int i2 = node2.getValue();
        return i1>i2?node1:node2;
    }
    
    private int c(String s){
        return Integer.parseInt(s.trim());
    }
    
    //找出最佳路徑
    private void findPath(){
        if(this.triangle_nodes==null)return;
        int max = 0;
        int mi = 0;
        int mj = 0;
        for(int i = 0 ; i < triangle_nodes.length; i++){
            for(int j = 0 ; j< triangle_nodes[i].length;j++){
                int t = triangle_nodes[i][j].getValue();
                if(t>max){
                    max = t;
                    mi = i;
                    mj = j;
                }
            }
        }
        System.out.println("Max Path:"+triangle_nodes[mi][mj].getPath());
        System.out.println("Max Value:"+max);
    }
    
    public static void main(String[] args)throws Exception{
        DynamicSolveTrianglePath dsp = new
           DynamicSolveTrianglePath();
    }
    
} 
 
用于讀取文件的輔助類 



 import  java.io. * ;
 import  java.util. * ;
/** 
 *  輸入文本格式為
 *  類似這樣一個數字三角形
 *  
 *          x
 *         x x
 *        x x x
 *       x x x x
 *      x x x x x 
 *      
 *   @author  zqc
 *  */ 
  public   class  ReadTriangle   {
     public   static  String TRIANGLE_FILE  ="c:/java/triangle.txt" ;
    
     public   static  String[][] getTriangle()  {
        String[][] rtn;
         try{
            File f  =new File(ReadTriangle.TRIANGLE_FILE);
            BufferedReader br=new BufferedReader(new  FileReader(f));
            List l  =new Vector();
            String line  =br.readLine();
             while (line != null )  {
                l.add(line.trim());
                line=br.readLine();
            } 
             int heigth=l.size();
            rtn  =new  String[heigth][];
             for ( int i  =0  ; i< heigth ; i ++ )  {
                String s  = (String)l.get(i);
                String[] tk  =s.split(" ");
                 int  tklen  =tk.length;
                rtn[i]  =new String[tklen];
                 for ( int  k  =0  ; k  < tklen ; k ++ )  {
                    rtn[i][k]  =  tk[k];
                } 
            } 
             return  rtn;
        }   catch  (FileNotFoundException e)   {
            System.out.println("err1="+e);
        }   catch  (IOException e)   {
            System.out.println("err2="+e);
        } 
         return   null ;
    } 
   public static void main(String args[]){
       String[][] trn=ReadTriangle.getTriangle();
       System.out.println("toal="+trn.length);
       for(int i=0;i< trn.length;i++){
            System.out.println("ok="+trn[i].length);
            for(int j=0;j< trn[i].length;j++)              
              System.out.println(trn[i][j]);
      }
     }
    
} 


結果輸出如下: 

Max Path:[(0,0), (1,0), (2,0), (3,1), (4,1), (5,2)] 
Max Value:39 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久影院电视剧免费观看| 99久久精品99国产精品| 欧美疯狂做受xxxx富婆| 日韩激情一二三区| 欧美α欧美αv大片| 国产伦理精品不卡| 亚洲欧洲在线观看av| 欧美视频在线一区| 日韩av网站在线观看| 久久久99久久| 欧洲日韩一区二区三区| 免费高清成人在线| 久久久91精品国产一区二区精品| av在线免费不卡| 午夜精品久久久久久久| 久久久久国产精品免费免费搜索| 成人精品亚洲人成在线| 亚洲国产wwwccc36天堂| 精品国产精品网麻豆系列| 一本色道久久综合亚洲91 | 亚洲国产欧美日韩另类综合 | 欧美一区二区三区视频免费| 韩国v欧美v日本v亚洲v| 综合久久国产九一剧情麻豆| 欧美久久久久久蜜桃| 风流少妇一区二区| 午夜不卡在线视频| 国产精品美女久久久久久久网站| 欧美日韩卡一卡二| 高清不卡一区二区| 日韩激情视频网站| 亚洲人成7777| 欧美精品一区二区三| 在线观看区一区二| 国产精品69毛片高清亚洲| 亚洲午夜精品在线| 国产精品久久久久久久裸模| 欧美一级欧美三级| 在线观看不卡一区| 国产成a人亚洲| 久久国产免费看| 亚洲制服丝袜av| 国产午夜精品久久久久久免费视 | 亚洲成人在线观看视频| 国产区在线观看成人精品| 欧美精选午夜久久久乱码6080| 国产成人av电影在线| 看片的网站亚洲| 亚洲第四色夜色| 专区另类欧美日韩| 日本一区二区免费在线| 日韩色视频在线观看| 欧美色综合久久| 91精彩视频在线观看| 波多野结衣中文字幕一区二区三区| 蜜桃久久av一区| 日产精品久久久久久久性色| 亚洲成人一区二区在线观看| 亚洲欧美色图小说| 国产精品久久久久久久久免费樱桃 | 日本精品一级二级| 99精品在线观看视频| 国产成人精品1024| 精品一区二区三区影院在线午夜| 五月天激情综合| 日韩av一区二区三区| 亚洲高清不卡在线观看| 一区二区三区加勒比av| 亚洲六月丁香色婷婷综合久久| 国产精品网友自拍| 国产日韩在线不卡| 中文字幕巨乱亚洲| 亚洲欧洲三级电影| 亚洲天堂免费在线观看视频| 国产精品入口麻豆九色| 国产精品久久久久久久久免费樱桃 | 久久97超碰色| 狠狠色丁香久久婷婷综| 国产一区二区三区蝌蚪| 国产精品 日产精品 欧美精品| 激情久久五月天| 国产麻豆精品theporn| 高清在线成人网| 97久久精品人人爽人人爽蜜臀| 97精品超碰一区二区三区| 91蜜桃传媒精品久久久一区二区| 色综合欧美在线视频区| 欧美日韩五月天| 精品日韩在线观看| 欧美激情一区二区三区不卡| 中文字幕一区二区三区四区| 亚洲精品国产成人久久av盗摄| 亚洲国产一二三| 久国产精品韩国三级视频| 国产真实乱偷精品视频免| 高清av一区二区| 91丨九色丨黑人外教| 欧美日本精品一区二区三区| 精品成人在线观看| 国产精品嫩草影院av蜜臀| 一区二区三区在线视频观看| 日韩成人免费电影| 国产河南妇女毛片精品久久久| eeuss影院一区二区三区| 欧美最猛性xxxxx直播| 日韩写真欧美这视频| 国产精品伦一区二区三级视频| 亚洲一卡二卡三卡四卡五卡| 免播放器亚洲一区| 成人午夜私人影院| 欧美三级电影网| 久久久九九九九| 亚洲一级二级在线| 国产精品系列在线观看| 91久久奴性调教| 久久综合99re88久久爱| 亚洲乱码一区二区三区在线观看| 日韩精品亚洲一区| 91美女片黄在线| 精品99999| 亚洲成人黄色影院| 成人一道本在线| 日韩欧美在线一区二区三区| 国产精品美女久久久久aⅴ| 婷婷成人综合网| 懂色中文一区二区在线播放| 欧美顶级少妇做爰| 亚洲另类在线视频| 国产精品亚洲一区二区三区妖精 | 成人av网站在线| 欧美一二三在线| 亚洲一区日韩精品中文字幕| 国产在线视频一区二区三区| 欧美四级电影网| 最新日韩在线视频| 国产很黄免费观看久久| 日韩一区二区三区视频| 一区二区三区精品视频在线| 成人午夜视频在线| 久久亚洲精品国产精品紫薇| 天堂蜜桃91精品| 欧美在线观看你懂的| 综合在线观看色| 高清在线成人网| 国产日产欧美一区二区三区| 日韩国产精品久久久| 91国内精品野花午夜精品| 国产精品色噜噜| 粉嫩av一区二区三区在线播放| 精品福利一区二区三区| 久久成人18免费观看| 91精品国产全国免费观看| 亚洲国产综合人成综合网站| 色素色在线综合| 亚洲精品国产高清久久伦理二区| 成人福利视频在线| 中文字幕av不卡| 丁香一区二区三区| 国产精品色哟哟网站| 成人h版在线观看| 亚洲欧美中日韩| 色系网站成人免费| 亚洲一级二级在线| 欧美乱妇一区二区三区不卡视频| 亚欧色一区w666天堂| 欧美日本在线视频| 日本v片在线高清不卡在线观看| 欧美亚洲高清一区| 亚洲第一久久影院| 日韩一区二区影院| 国产美女主播视频一区| 国产三区在线成人av| 成人精品高清在线| 日韩理论片一区二区| 欧美性色欧美a在线播放| 视频一区欧美日韩| 日韩一区二区三区视频| 国产激情精品久久久第一区二区 | 国产麻豆成人传媒免费观看| 国产亚洲女人久久久久毛片| 成人动漫中文字幕| 亚洲狠狠丁香婷婷综合久久久| 欧美午夜精品理论片a级按摩| 亚洲国产一区二区视频| 日韩欧美国产系列| 成人午夜av电影| 性欧美疯狂xxxxbbbb| 精品国精品国产尤物美女| 成人精品视频一区| 亚洲一区二区三区四区在线| 51久久夜色精品国产麻豆| 国产尤物一区二区| 日韩毛片视频在线看| 欧美一区二区免费| 不卡一二三区首页| 图片区小说区区亚洲影院| 国产人妖乱国产精品人妖| 欧美综合一区二区| 国产精品综合二区| 亚洲一级二级在线|