#include #include using namespace std; ifstream in("imperiu.in"); ofstream out("imperiu.out"); const int MAX=100000000; int a[100][100],n,m,x,y,k,minim=MAX,b[100][100],viz[100],c[100],u,pred[100]; void init() { for(int i=0;i<=100;i++) for(int j=0;j<=100;j++) a[i][j]=MAX; for(int i=0;i<=100;i++) a[i][i]=0; } void citire() { in>>n>>m; for(int i=1;i<=m;i++) { in>>x>>y>>k; a[x][y]=k; a[y][x]=k; b[x][y]=1; b[y][x]=1; } } void rf() { for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(a[i][j]>a[i][k]+a[k][j]) a[i][j]=a[i][k]+a[k][j]; } void bf(int i) { c[1]=i; viz[i]=1; u=1;k=1; while(k<=u) { y=c[k++]; for(int j=1;j<=n;j++) if(b[y][j]==1 && !viz[j]) { c[++u]=j; viz[j]=1; pred[j]=y; } } } void afisare(int i) { if(i==x) { out<