acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 不理解 参考参考

    #include<bits/stdc++.h> using namespace std; int n,k,m,s,t,c[102],g[102][102],f[102][102],u,v,d; int main(){ scanf("%d%d%d%d%d",&n,&k,&m,&s,&t); for(int i=1;i<=n;i)for(int j=1;j<=n;j)f[i][j]=21743822; for(int i=1;i<=n;++i)scanf("%d",&c[i]); for(int i=1;i<=k;i)for(int j=1;j<=k;j)scanf("%d",&g[i][j]); for(int i=1;i<=m;++i){ scanf("%d%d%d",&u,&v,&d); if(!g[c[v]][c[u]]&&c[v]!=c[u])f[u][v]=min(f[u][v],d); if(!g[c[u]][c[v]]&&c[v]!=c[u])f[v][u]=min(f[v][u],d); } if(c[s]==c[t]){puts("-1");return 0;} for(int i=1;i<=n;++i)for(int j=1;j<=n;++j)if(i!=j)for(int k=1;k<=n;++k)if(j!=k&&i!=k)if(f[i][k]+f[k][j]<f[i][j])f[i][j]=f[i][k]+f[k][j]; if(f[s][t]==21743822)puts("-1"); else printf("%d",f[s][t]); return 0; }

    userId_undefined

    法兰西玫瑰

    倔强青铜
    122阅读
    4回复
    1点赞
  • 这题是错题,那为什么还要加在ACGO

    这题是错题,那为什么还要加在ACGO

    userId_undefined

    TN Hacker

    荣耀黄金
    21阅读
    0回复
    0点赞
首页