请问为什么会全$\mathfrak{WA}$?
查看原帖
请问为什么会全$\mathfrak{WA}$?
300078
pengyule楼主2020/6/15 18:49

WA+TLE\texttt{\color{red}{WA}}+\texttt{\color{black}{TLE}},求助……

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const ll Inf=2147483647;
ll dis[10001];
map <pii,ll> e;
int book[10001];
int main()
{
    int n,m,s,t,u,v,w;
    cin>>n>>m>>s;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            if(i!=j) e[make_pair(i,j)]=Inf;
    for(int i=1;i<=m;i++) cin>>u>>v>>w,e[make_pair(u,v)]=w;
    for(int i=1;i<=n;i++) book[i]=0;
    book[s]=1;
    for(int i=1;i<=n;i++) dis[i]=e[make_pair(s,i)];
    for(int i=1;i<=n-1;i++){
        ll Min=Inf,u;
        for(int j=1;j<=n;j++) 
            if(Min>dis[j] && book[j]==0)
                u=j,Min=dis[j];
        book[u]=1;
        for(int v=1;v<=n;v++)
            if(e[make_pair(u,v)]<Inf && Min+e[make_pair(u,v)]<dis[v])
                dis[v]=Min+e[make_pair(u,v)];
    }
    for(int i=1;i<=n;i++) cout<<dis[i]<<' ';
    return 0;
}
2020/6/15 18:49
加载中...