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

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

?? antstrip.txt

?? 多年前俺幫朋友編的一個螞蟻算法。里面有不少冗余的地方
?? TXT
字號:
import java.io.*;

public class AntsTrip {
    
    public static void main(String[] args) {        
       boolean r0,r1,r2;
       int m = 0 ,n = 0;//m個城市,n個螞蟻
       int city_map[][];//城市距離取1到21之間的數
       float  tl[][];//信息素初始值為城市路線個數的倒數
       int ants_trip[][];//所有螞蟻行走路線
       int min_count;//當前最短路徑長
       int ant_count[];//記錄當前路徑長
       int min_trip[];//當前最短路徑的路線
       int walk_num;//記錄當前步數
       float proba[];//用于暫時存放概率
       float probb[];//用于計算概率使用
       float count_proba ;//用于計算概率使用
       float prob;//用于產生隨機概率
       int now_city ;//螞蟻當前所在城市    
       int next_city;//暫時記錄下一個城市
       
       r0=true;    
       while(r0){
           r0=false;
           try{
               BufferedReader in = new BufferedReader(
                   new InputStreamReader(System.in));
               System.out.print("請輸入城市的個數(整數):");
                String num_m =  in.readLine();
                System.out.print("請輸入螞蟻個數(整數):");
               String num_n =     in.readLine();                  
               m = Integer.parseInt( num_m );
              n = Integer.parseInt( num_n );                  
              if(m <= 0 && n <= 0){
                  System.out.print("輸入錯誤請從新輸入!\n");
                  r0 = true;
              }
           }catch(NumberFormatException e1){
               System.out.print("輸入錯誤請從新輸入!\n");
               r0 = true;
           }catch(IOException e2){
               System.out.print("輸入錯誤請從新輸入!\n");
               r0 = true; 
            }
       }//結束while(r0)得到城市的個數n 和螞蟻的個數m
       
        // TODO Auto-generated method stub        
        city_map = new int[m][m];
        tl = new float[m][m];
        min_trip = new int[m];
        ants_trip = new int[m][n];
        min_count=21*m;//因為城市之間有m個路段,每段最大取21
        proba = new float[m];
        probb = new float[m];
        ant_count = new int[n];
        
        System.out.print("產生的隨機地圖為:\n");
        for(int i=0; i<city_map.length; i++){
            for(int j=0; j<city_map.length; j++){
                if(i!=j){
                    city_map[j] = (int)(Math.random()*20)+1;//初始化城市
                    tl[j] = (float)1.0/m*(m-1);//初始化信息素
                    System.out.print("  c_map[" + i + "][" + j + "]" +"="+ city_map[j]);                    
                }
            }
            System.out.print("\n");
        }
        walk_num = 0;
        int marks0 = 0;//標記總循環次數
        boolean marks1;//標記是否都走同一路徑
        r2=true;
        while(r2){//總循環------------------------------步驟3
            marks0++;
            marks1 = true;
            for(int i=0; i<ants_trip.length; i++){//清空ants_trip
                for(int j=0; j<ants_trip[0].length; j++){
                    ants_trip[j] = 0;
                }
            }
            
            for(int j=0; j<ants_trip[0].length; j++){//把n只螞蟻(行)放入m個城市(列)中
                int k;
                k = (int)(Math.random()*m);
                ants_trip[k][j]=1;
            }
            
            for(int j=0; j<ants_trip[0].length;j++){//螞蟻循環 -----------------------------步驟1
                int k1=0;
                now_city = 0;
                ant_count[j] = 0;
                for(int i=0; i<ants_trip.length; i++){//找到螞蟻的出發城市
                    if(ants_trip[j] == 1){
                        k1 = i;
                        now_city = i;
                        walk_num = 1;
                        break;
                    }                    
                }
                r1 = true;
                while( r1 ){//用于處理單只螞蟻j
                    r1 = false;
                    count_proba = 0;
                    prob = 0;                    
                    for(int i=0; i<proba.length; i++){
                        proba=0;//將概率暫存表清空
                        probb=0;
                    }
                    
                    for(int i=0; i<ants_trip.length; i++){//計算由now_city到其他城市的概率
                        if(ants_trip[j]==0){
                            proba=(float)(tl[now_city]*(1.0/city_map[now_city]))*100000;
                        }
                    }
                                       
                    for(int i=0,k=0; i<proba.length; i++){//將概率處理為線段
                        if(proba != 0){
                            count_proba += proba;
                            probb[k] = count_proba;                                 
                            k++;                            
                        }
                    }
                    next_city = 0;
                    prob = (float)Math.random()*count_proba;//產生隨機概率                    
                    
                    for(int i=0,l=0; i<probb.length; i++){//判斷落入區間
                        if(prob < probb){
                            
                            for(int k=0; k<proba.length; k++)
                            {
                                if(proba[k]!=0){
                                    l++;
                                }
                                if(l==i+1){
                                    next_city = k;//得到了下一個城市
                                    break;
                                }
                            }
                            break;
                        }
                    }//結束了對落入范圍的判斷,獲得了下一個城市
                    ant_count[j] +=city_map[now_city][next_city];                        
                    now_city = next_city;                
                    walk_num++;
                    ants_trip[now_city][j] = walk_num;
                    
                    int k3,k4;//                    判斷螞蟻j是否走完所有城市
                    k3 = 0; k4 = 0;
                    for(int i=0; i<ants_trip.length; i++){
                        if(ants_trip[j]==0){
                            k3++;k4=i;
                        }
                    }
                    if(k3>1){
                        r1=true;
                    }else{
                        ants_trip[k4][j]=m;
                        ant_count[j] += city_map[now_city][k4];
                        ant_count[j] += city_map[k4][k1];//由最后一個城市回到出發城市
                        now_city = k4;
                        System.out.print("\n  螞蟻" + j + "走完全程,總路程為" + ant_count[j]);
                    }                                       
               }//結束了while語句,即一只螞蟻j已經走完所有城市    
                
                /*int k6 = 1;
               while(k6 <= m){
                   for(int i=0; i<ants_trip.length; i++){
                       if(ants_trip[j]==k6){
                           System.out.print("  "+i);
                       }
                   }
                   k6++;
               }*/
               if(ant_count[j] < min_count){
                for(int i=0; i<ants_trip.length; i++){
                    min_trip=ants_trip[j];                            
                }
                min_count = ant_count[j];
               }
               System.out.print("\n  當前最短路程長為"+ min_count);                        
            } ////////////////////////所有螞蟻都走過了            
            System.out.print("\n所有螞蟻都走完所有城市!");
            
            for(int i=0; i<tl.length; i++){//----------------步驟2
                for(int j=0; j<tl[0].length; j++){
                    tl[j] /=4;
                }
            }
            for(int j=0; j<ants_trip[0].length; j++){
                for(int i=0; i<tl.length; i++){
                    for(int k=0; k<ants_trip.length; k++){
                        if((ants_trip[j]-1)==ants_trip[k][j]%m){
                            tl[k] +=(float) 3.0/(8*ant_count[j]);
                               if((min_trip-1)==min_trip[k]%m){
                                         tl[k] +=(float) 3.0/(8*min_count);                          
                                       }                          
                        
                        }
                    }
                }
            }
            for(int j=0,k=0; j<ants_trip[0].length; j++){//判斷所有螞蟻是否都走同一路線
                for(int i=0; i<ants_trip.length; i++){                    
                    k=ants_trip[0][j]-min_trip[0];
                    if((ants_trip[j]-k-1+m)%m != (min_trip-1)){
                        marks1 = false;
                        j = ants_trip[0].length;
                        break;
                    }
                }
            }
            if(marks1 || marks0 > 100){//循環次數最高為100次
                if(marks1){
                    System.out.print("\n\n\n成功查尋到最短路!!");
                }
                else{
                    System.out.print("\n\n\n循環到次數了!");
                }
                r2=false;
                }
        }//結束總while        
        System.out.print("\n當前路線為:");
        int k5 = 1;
        while(k5 <= m){
           for(int i=0; i<min_trip.length; i++){
               if(min_trip==k5){
                   System.out.print(i+"  ");
               }
           }
           k5++;
       }
            
        System.out.print("\n總路程為:" + min_count);    
        System.exit(0);
    }//結束main
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美亚洲另类制服综合在线| 欧美视频在线一区二区三区| 免费观看日韩电影| 亚洲国产欧美在线| 一区二区三区日韩在线观看| 国产精品传媒在线| 亚洲人成影院在线观看| 一区二区三区四区av| 一区二区三区欧美日韩| 一区二区高清免费观看影视大全 | 亚洲一区二区美女| 夜夜亚洲天天久久| 午夜精彩视频在线观看不卡| 另类的小说在线视频另类成人小视频在线 | 欧美日韩精品高清| 欧美一区二区成人| 久久久久九九视频| 中文字幕在线观看不卡视频| 一区二区高清在线| 美女尤物国产一区| 成人污污视频在线观看| 91蝌蚪porny成人天涯| 欧美日韩国产一二三| 精品国产三级a在线观看| 国产精品日韩成人| 性做久久久久久免费观看| 美女被吸乳得到大胸91| 国产成人啪免费观看软件| 94-欧美-setu| 日韩一区二区免费电影| 国产日本亚洲高清| 亚洲自拍另类综合| 国产精品一卡二卡在线观看| 91福利社在线观看| 久久久久久免费| 一区二区久久久| 国产ts人妖一区二区| 在线视频一区二区三区| 国产亚洲综合性久久久影院| 亚洲综合视频网| 丁香六月久久综合狠狠色| 欧美日韩在线播放三区四区| 欧美精品一区二区三| 亚洲国产欧美一区二区三区丁香婷| 九色|91porny| 欧美日韩精品福利| 国产精品国产a级| 狠狠狠色丁香婷婷综合激情| 91精品福利在线| 欧美国产丝袜视频| 精品在线播放免费| 欧美日韩一区精品| 一区二区三区日韩欧美精品| 国产黑丝在线一区二区三区| 日韩一区二区麻豆国产| 亚洲一区二区精品久久av| 成年人国产精品| 久久夜色精品一区| 美女视频黄a大片欧美| 欧美性生交片4| 亚洲人妖av一区二区| 大胆欧美人体老妇| 国产三级一区二区三区| 韩日av一区二区| 日韩一区二区三区高清免费看看| 亚洲第一精品在线| 色婷婷综合视频在线观看| 国产精品电影一区二区三区| 风流少妇一区二区| 日本一二三四高清不卡| 粉嫩av一区二区三区粉嫩| 精品91自产拍在线观看一区| 国产在线一区二区| 久久久蜜桃精品| 国产成人精品一区二| 久久蜜桃一区二区| 国产成人aaaa| 国产精品美女久久久久av爽李琼| 国产一区福利在线| 日本一区二区免费在线| 国产不卡在线一区| 1024成人网| 日本精品一区二区三区高清| 亚洲精品国产无天堂网2021| 欧美在线观看你懂的| 亚洲福利国产精品| 日韩写真欧美这视频| 国产精品夜夜爽| 国产精品美女久久久久久久| 日本丰满少妇一区二区三区| 夜夜嗨av一区二区三区| 91精品国产91久久久久久最新毛片 | 99国产欧美另类久久久精品| 亚洲精品免费在线| 欧美日韩一区二区三区四区| 美女被吸乳得到大胸91| 国产视频在线观看一区二区三区| 9i看片成人免费高清| 亚洲一区二区三区在线播放| 日韩午夜在线观看| 成人黄色在线视频| 亚洲成a人v欧美综合天堂下载| 91精品国产综合久久国产大片| 狠狠v欧美v日韩v亚洲ⅴ| 中文字幕日本乱码精品影院| 欧美日韩美女一区二区| 国产精品资源站在线| 一区二区三区四区乱视频| 欧美不卡123| 一本大道久久精品懂色aⅴ| 美女脱光内衣内裤视频久久网站 | 色av成人天堂桃色av| 蜜臀久久99精品久久久久久9 | 亚洲欧美日韩在线| 欧美一卡二卡三卡| 91黄色免费看| 精品一区中文字幕| 一区二区三区欧美日韩| 国产亚洲欧美日韩日本| 欧美日韩精品免费观看视频| 国产成人a级片| 日本特黄久久久高潮| 中文字幕在线观看一区| 精品欧美乱码久久久久久1区2区| 91视频一区二区三区| 国产精品996| 免费看日韩精品| 亚洲视频一区在线| 国产亚洲精品久| 日韩欧美不卡在线观看视频| 色婷婷一区二区三区四区| 国产精品亚洲一区二区三区妖精| 亚洲第一狼人社区| 一区二区在线电影| 中文字幕精品一区二区三区精品| 日韩一级高清毛片| 欧美日韩高清不卡| 欧美三区免费完整视频在线观看| 成人18视频在线播放| 国产·精品毛片| 国产激情一区二区三区四区| 久久国产精品区| 美女视频第一区二区三区免费观看网站| 亚洲欧美日韩国产另类专区| 国产精品久久看| 国产精品无码永久免费888| 久久久久久毛片| 久久九九国产精品| 久久久精品免费网站| 国产亚洲福利社区一区| 26uuu亚洲| 国产欧美久久久精品影院| 久久久另类综合| 欧美激情一二三区| 国产精品久久网站| 亚洲天堂久久久久久久| 国产精品短视频| 亚洲免费大片在线观看| 亚洲男人天堂av| 一卡二卡欧美日韩| 亚洲成人tv网| 日韩精品电影在线| 久久99精品国产.久久久久久| 捆绑紧缚一区二区三区视频| 国产一区二区在线观看视频| 国产在线播放一区三区四| 国产精品一二三四区| 成人激情免费视频| 色婷婷一区二区三区四区| 欧美日韩国产一区二区三区地区| 在线播放国产精品二区一二区四区| 91麻豆精品国产| 欧美激情一二三区| 亚洲精品国产精华液| 青青草97国产精品免费观看| 国内精品伊人久久久久影院对白| 国产91丝袜在线观看| 在线看不卡av| 精品美女在线观看| 亚洲老妇xxxxxx| 久久精品国产亚洲5555| 岛国精品在线观看| 欧美日韩久久一区二区| 久久无码av三级| 亚洲福利一二三区| 韩国在线一区二区| 色婷婷av一区二区三区大白胸| 欧美一区二区三区免费观看视频 | 亚洲日本成人在线观看| 午夜不卡av在线| 国产xxx精品视频大全| 欧美日韩三级在线| 欧美激情一区在线观看| 秋霞午夜av一区二区三区 | 国产精品三级在线观看| 性欧美疯狂xxxxbbbb| 国产成人在线视频免费播放| 欧美视频在线播放| 一区精品在线播放| 精品亚洲porn|