廣搜-最短路徑
阿新 • • 發佈:2019-01-26
package aha; //廣搜 import java.util.Scanner; public class guangsoutu { public static void main(String[] args) { int tail,head; int book[]=new int [100]; int e[][]=new int [100][100]; int que[]=new int [10000]; Scanner sc=new Scanner (System.in); int n=sc.nextInt(); int m=sc.nextInt(); //初始化矩陣 for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(i==j) e[i][j]=0; else e[i][j]=9999; } } //初始化邊 for(int i=1;i<=m;i++){ int a=sc.nextInt(); int b=sc.nextInt(); e[a][b]=1; e[b][a]=1; } tail=1; head=1; que[tail]=1; tail++; book[1]=1; while(head<tail){ int cur=que[head];//head 加入佇列 for(int i=1;i<=n;i++){ if(e[cur][i]==1&&book[i]==0){ que[tail]=i; tail++; book[i]=1; } if(tail>n){ break; } } head++; } for(int i=1;i<tail;i++){ System.out.println(que[i]); } } }