求问
2026-10-09 21:59:40
发布于:浙江
5阅读
0回复
0点赞
为什么我这陀屎山代码能过啊……
#include <bits/stdc++.h>
using namespace std;
int n,m;
int dis[110][110][110][110];
const int mod=1e9;
int main(){
cin>>n>>m;
for (int l=1;l<=n;l++){
for (int r=l;r<=n;r++){
for (int i=l;i<=r;i++){
for (int j=l;j<=r;j++){
dis[l][r][i][j]=1e9;
}
dis[l][r][i][i]=0;
}
}
}
for (int i=1;i<=m;i++){
int u,v,w;
cin>>u>>v>>w;
for (int l=1;l<=max(u,v);l++){
for (int r=l;r<=n;r++){
dis[l][r][u][v]=min(dis[l][r][u][v],w);
dis[l][r][v][u]=min(dis[l][r][v][u],w);
}
}
}
for (int l=1;l<=n;l++){
for (int r=l;r<=n;r++){
for (int k=l;k<=r;k++){
for (int i=l;i<=r;i++){
for (int j=l;j<=r;j++){
dis[l][r][i][j]=min(dis[l][r][i][j],dis[l][r][i][k]+dis[l][r][k][j]);
}
}
}
}
}
long long ans=0;
for (int l=1;l<=n;l++){
for (int r=l;r<=n;r++){
for (int u=l;u<=r;u++){
for (int v=u;v<=r;v++){
if (dis[l][r][u][v]==1e9){
continue;
}
ans=(ans+dis[l][r][u][v])%mod;
}
}
}
}
cout<<ans;
return 0;
}
时间复杂度不都了吗。
我试过了洛谷也能过所以不是ACGO测评机速度太快的问题。
这里空空如也








有帮助,赞一个