1 条题解

  • 0
    @ 2024-11-17 19:28:28
    #include<bits/stdc++.h>
    #define ll long long
    #define endl '\n'
    #define up(i,j,k,l) for(int i=j;i<=k;i+=l)
    #define down(i,j,k,l) for(int i=j;i>=k;i-=l)
    using namespace std;
    const int N=1e2+10,INF=1e9;
    int n,m;
    int a[N][N];
    int u,v,w;
    void solve()
    {
    	cin>>n>>m;
    	up(i,1,n,1){
    		up(j,1,n,1){
    			a[i][j]=INF;
    		}
    		a[i][i]=0;
    	}
    	up(i,1,m,1){
    		cin>>u>>v>>w;
    		a[u][v]=min(a[u][v],w);
    		a[v][u]=a[u][v];
    	}
    	up(k,1,n,1){
    		up(i,1,n,1){
    			up(j,1,n,1){
    				a[i][j]=min(a[i][j],a[i][k]+a[k][j]);
    			}
    		}
    	}
    	up(i,1,n,1){
    		up(j,1,n,1){
    			cout<<a[i][j]<<' ';
    		}
    		cout<<endl;
    	}
    	return;
    }
    int main()
    {
        //ios::sync_with_stdio(false);
    	//cin.tie(0);
    	//freopen(".in","r",stdin);
    	//freopen(".out","w",stdout);
    	int _=1;
    	//cin>>_;
    	up(i,1,_,1){
    		solve();
    	}
    	return 0;
    }
    
    

    信息

    ID
    4663
    时间
    1000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    20
    已通过
    11
    上传者