uva 567 Risk

简介: 点击打开链接uva 567 1思路:最短路+floyd 2分析:题目给定的点的个数为20,那么根据f'loyd的时间复杂度不会超时,那么直接利用floyd即可。

点击打开链接uva 567


1思路:最短路+floyd
2分析:题目给定的点的个数为20,那么根据f'loyd的时间复杂度不会超时,那么直接利用floyd即可。
3注意输出的格式问题

代码:

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
#define MAXN 25
#define INF 0xFFFFFFF

int n , cnt;
long long dis[MAXN][MAXN];

/*初始化dis数组*/
void init(){
    for(int i = 1 ; i <= 20 ; i++){
       for(int j = 1 ; j <= 20 ; j++){
          if(i == j)
            dis[i][j] = 0;
          else
            dis[i][j] = INF;
       }
    }
}

/*求最小值函数*/
long long  min(long long a , long long b){
   return a < b ? a : b;
}

/*floyd算法*/
void floyd(){
     int a , b;
     for(int k = 1;  k <= 20 ; k++){
        for(int i = 1 ; i <= 20 ; i++){
           for(int j = 1 ; j <= 20 ; j++)
              dis[i][j] = min(dis[i][j] , dis[i][k]+dis[k][j]);
        }
     }
     scanf("%d" , &n);
     printf("Test Set #%d\n" , cnt++);
     for(int i = 1 ; i <= n ; i++){
        scanf("%d%d" , &a , &b);
        printf("%2d to %2d: %lld\n" , a , b , dis[a][b]);/*输出问题*/
     }
     printf("\n");
}

int main(){
    //freopen("input.txt" , "r" , stdin);
    int x , a;
    cnt = 1;
    while(scanf("%d" , &x) != EOF){
         init();
         for(int i = 1 ; i <= x ; i++){
            scanf("%d" , &a);
            dis[1][a] = dis[a][1] = 1;
         }
         for(int i = 2 ; i <= 19 ; i++){
            scanf("%d" , &x);
            for(int j = 1 ; j <= x ; j++){
               scanf("%d" , &a);
               dis[i][a] = dis[a][i] = 1;
            }
         }
         floyd();
    }
    return 0;
}




目录
相关文章
|
关系型数据库 数据库连接 Windows
windows 常用的dos命令
windows 常用的dos命令
419 0
|
消息中间件 canal 关系型数据库
Maxwell:binlog 解析器,轻松同步 MySQL 数据
Maxwell:binlog 解析器,轻松同步 MySQL 数据
1354 11
【STM32】详解RTC实时时钟的概念和配置&示例代码
【STM32】详解RTC实时时钟的概念和配置&示例代码
|
21小时前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
10天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
4天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
429 191
|
3天前
|
数据采集 消息中间件 人工智能
跨系统数据搬运的全方位解析,包括定义、痛点、技术、方法及智能体解决方案
跨系统数据搬运打通企业数据孤岛,实现CRM、ERP等系统高效互通。伴随数字化转型,全球市场规模超150亿美元,中国年增速达30%。本文详解其定义、痛点、技术原理、主流方法及智能体新范式,结合实在Agent等案例,揭示从数据割裂到智能流通的实践路径,助力企业降本增效,释放数据价值。