POJ 1603 Risk 最短路 Floyd Dijstra

POJ 1603
每组数据先输入19组边信息,依次代表从第几个顶点出发有哪些边与之直接相连。
要注意的是图是无向图,所以在更改邻接矩阵时根据无向图的对称性来处理数据

就是求两点中间的最少的城市个数

public class Main
{
 static int[][] w=new int[21][21];
 static final int n=20;
 public static void main(String[] args)
 {
   Scanner in=new Scanner(System.in);
   int cnt=0;
   while(in.hasNext())
   {
	cnt++;
	for(int i=0;i< n;i++)
		for(int j=0;j< n;j++)
			w[i][j]=9999999;
	for(int i=0;i< n-1;i++)
	{
		int u=in.nextInt();
		for(int j=0;j< u;j++)
		{
			int v=in.nextInt();
			w[i][v-1]=w[v-1][i]=1;
		}
	}
	for(int k=0;k< n;k++)
		for(int i=0;i< n;i++)
			for(int j=0;j< n;j++)
				w[i][j]=Math.min(w[i][j], w[i][k]+w[k][j]);
	int c=in.nextInt();
	System.out.println("Test Set #"+cnt);
	while((c--)!=0)
	{
		int a1=in.nextInt();
		int a2=in.nextInt();
		System.out.println(a1+" to "+a2+": "+w[a1-1][a2-1]);
	}
	System.out.println();
  }
 }
}
Dijstra

#include<iostream>  
#include<cstdio>  
#include<cstring>  
#define MAXNODE 25  
#define MAXCOST 9999  
using namespace std;  
int main()  
{  
    void InputCost(int Cost[][MAXNODE]);  
    void Dijkstra(int Cost[][MAXNODE],int f,int Distance[],int e);  
    int Cost[MAXNODE][MAXNODE];  
    int cnt;  
    int kkk = 0; /*kkk为格式控制中的数据编号*/  
    int n,k;  
    int i,f,e,Distance[MAXNODE];  
    while(cin>>n) /*格式控制*/ /*题目已说明总共19组数据,先在input函数外输入一组用于方便格式控制*/  
   {  
        memset(Cost,0x3f,sizeof(Cost));  
        while(n--)  
        {  
            cin>>k;  
            Cost[1][k] = 1;  
            Cost[k][1] = 1;  
        }  
        InputCost(Cost);  
        cin>>cnt; /*输入查找的信息 */  
        ++kkk;  
        printf("Test Set #%d\n",kkk);  
        while(cnt--)  
        {  
            cin>>f>>e;  
            Dijkstra(Cost,f,Distance,e);  
        }  
        putchar(10);  
   }  
    return 0;  
}  
void InputCost(int Cost[][MAXNODE]) /*数据输入,用邻接矩阵来存储图的信息*/  
{  
    int n,k;  
  
    for(int i = 2 ; i <= 19 ; i++)  
    {  
        scanf("%d",&n);  
        for(int j = 0 ; j < n ; j++)  
        {  
            scanf("%d",&k);  
            Cost[i][k] = 1;  
            Cost[k][i] = 1;  
        }  
    }  
}  
void Dijkstra(int Cost[][MAXNODE],int f,int Distance[],int e)/*f为出发的结点,e为要查找的从f出发到e的顶点*/  
{  
    int s[MAXNODE];  
    int mindis,dis;  
    int i,j,u;  
    for(i=1;i<=20;i++)   /*对S数组初始化*/  
    {  
        Distance[i]=Cost[f][i];  
        s[i]=0;  
    }  
    s[f]=1;   /*标记v0.*/  
    for(i=1;i<=20;i++)  
    {  
        mindis=MAXCOST;  
        for(j=1;j<=20;j++)  
        {  
            if(s[j]==0 && Distance[j]<mindis)  /*每一次循环比较得到最短值。*/  
            {  
                u=j;  
                mindis=Distance[j];  
            }  
        }  
        s[u]=1;   /*标记u.*/  
        for(j=1;j<=20;j++)  
        {  
            if(s[j]==0)  
            {  
                dis=Distance[u]+Cost[u][j];  
                Distance[j]=(Distance[j]<dis)?Distance[j]: dis;   /*修改从初始结点到其他顶点的最短距离。*/  
            }  
        }  
    }  
    printf("%d to %d: %d\n",f,e,Distance[e]);  
}  





电动汽车数据集:2025年3K+记录 真实电动汽车数据:特斯拉、宝马、日产车型,含2025年电池规格和销售数据 关于数据集 电动汽车数据集 这个合成数据集包含许多品牌和年份的电动汽车和插电式车型的记录,捕捉技术规格、性能、定价、制造来源、销售和安全相关属性。每一行代表由vehicle_ID标识的唯一车辆列表。 关键特性 覆盖范围:全球制造商和车型组合,包括纯电动汽车和插电式混合动力汽车。 范围:电池化学成分、容量、续航里程、充电标准和速度、价格、产地、自主水平、排放、安全等级、销售和保修。 时间跨度:模型跨度多年(包括传统和即将推出的)。 数据质量说明: 某些行可能缺少某些字段(空白)。 几个分类字段包含不同的、特定于供应商的值(例如,Charging_Type、Battery_Type)。 各列中的单位混合在一起;注意kWh、km、hr、USD、g/km和额定值。 列 列类型描述示例 Vehicle_ID整数每个车辆记录的唯一标识符。1 制造商分类汽车品牌或OEM。特斯拉 型号类别特定型号名称/变体。型号Y 与记录关联的年份整数模型。2024 电池_类型分类使用的电池化学/技术。磷酸铁锂 Battery_Capacity_kWh浮充电池标称容量,单位为千瓦时。75.0 Range_km整数表示充满电后的行驶里程(公里)。505 充电类型主要充电接口或功能。CCS、NACS、CHAdeMO、DCFC、V2G、V2H、V2L Charge_Time_hr浮动充电的大致时间(小时),上下文因充电方法而异。7.5 价格_USD浮动参考车辆价格(美元).85000.00 颜色类别主要外观颜色或饰面。午夜黑 制造国_制造类别车辆制造/组装的国家。美国 Autonomous_Level浮点自动化能力级别(例如0-5),可能包括子级别的小
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值