• 礼物


    【题目描述】
    快到WD的生日了。XFZ和LFT都要去送礼物。XFZ生活的国家有n个城市,有些城市之间有直达的高速公路。WD喜欢的礼物只在其中的m个城市出售。给你XFZ和LFT通过各条高速公路的速度,求出先到WD所在城市的人和时间。
    XFZ和LFT都生活在1号城市,WD生活在n号城市。
    【输入格式】
    第1行三个数:n、m、k:k表示高速公路的数量。
    第2行m个数:出售WD喜欢的礼物的城市编号。
    第3~k+2行每行四个数:一条高速公路的起点、终点、XFZ通过这条高速公路的时间和LFT通过这条高速公路的时间。
    【输出格式】
    若两个人都到不了WD所在的城市或者买不到WD喜欢的礼物,输出”fail!”;
    若XFZ不比LFT晚到,输出”XFZ”和他所需的时间;
    否则输出”LFT”和他所需的时间。
    【样例输入】
    3 2 2
    1 3
    1 2 3 5
    2 3 4 3
    【样例输出】
    XFZ 7
    【数据范围】
    对于30%的数据:n≤5,k≤10,每个城市都有礼物出售。
    对于50%的数据:n≤10,m≤5,k≤20。
    对于100%的数据:n≤200,m≤100,k≤500。
    代码

    #include<bits/stdc++.h>
    #define FOR(i,j,k)  for(int i=(j);i<=(k);i++)
    using namespace std;
    int f1[201][201],f2[201][201];
    int g[101];
    int n,m,k;
    int XFZ=1e9,LFT=1e9;
    inline int read()
    {
        int x=0,f=1;char c=getchar();
        while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
        while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
        return x*f;
    }
    int main()
    {
    	freopen("gift.in","r",stdin);
    	freopen("gift.out","w",stdout);
    	n=read(),m=read(),k=read();
    	for(int i=1;i<=m;i++)
    		g[i]=read();
    	for(int i=1;i<=n;i++)	
    		for(int j=1;j<=n;j++)
    			f1[i][j]=f2[i][j]=1e9;
    	for(int i=1;i<=k;i++)
    	{
    		int u=read(),v=read();
    		f1[u][v]=read(),f2[u][v]=read();
    	}
    	for(int i=1;i<=n;i++)
    		f1[i][i]=f2[i][i]=0;
    	for(int k=1;k<=n;k++)
    		for(int i=1;i<=n;i++)
    			for(int j=1;j<=n;j++)
    				f1[i][j]=min(f1[i][j],f1[i][k]+f1[k][j]),f2[i][j]=min(f2[i][j],f2[i][k]+f2[k][j]);
    	for(int i=1;i<=m;i++)
    	{
    		XFZ=min(XFZ,f1[1][g[i]]+f1[g[i]][n]);
    		LFT=min(LFT,f2[1][g[i]]+f2[g[i]][n]);
    	}
    	if(XFZ==LFT==1e9)
    	{
    		puts("fail!");
    		return 0;
    	}
    	if(XFZ<=LFT)
    		printf("XFZ %d
    ",XFZ);
    	else
    		printf("LFT %d
    ",LFT);
    	return 0;
    }
    
    
  • 相关阅读:
    浏览器的跨域请求 与 CORS(跨域资源共享)
    HTML 占位符
    C# 中的 base和this
    推荐一个pdf引擎
    整理wifi相关的知识点
    交叉编译(ISC)DHCP:dhcp-4.3.0b1
    (转载)子网掩码,网关的概念
    海思-VB被占用导致vb无法去初始化
    c++创建文件时重命名同名文件
    iw创建虚拟网卡wlan1,ap_sta共存
  • 原文地址:https://www.cnblogs.com/LJA001162/p/13398194.html
Copyright © 2020-2023  润新知