zoukankan      html  css  js  c++  java
  • zoj 1082 Stockbroker Grapevine

    题意是在n个股票经纪人之间散播谣言,从 i 到 j 传到需要 t 秒,问选定那个股票经纪人可以是谣言最快的使所有人都知道,并求出这个时间。

    直接floyd,遍历即可。

    #include <stdio.h>
    #define INF 10000
    int n,m,dist[110][110];
    void floyd()
    {
    	int i,j,k;
    	for(k=1;k<=n;k++)
    		for(i=1;i<=n;i++)
    			for(j=1;j<=n;j++)
    				if(dist[i][j]>dist[i][k]+dist[k][j])
    					dist[i][j]=dist[i][k]+dist[k][j];
    }
    int main()
    {
    	int i,j,k,t;
    	int min,temp,pe;
    	while(1)
    	{
    		scanf("%d",&n);
    		if(n==0)
    			break;
    		for(i=1;i<=n;i++)
    			for(j=1;j<=n;j++)
    				dist[i][j]=INF;
    		for(i=1;i<=n;i++)
    		{
    			scanf("%d",&m);
    			for(j=1;j<=m;j++)
    			{
    				scanf("%d%d",&k,&t);
    				dist[i][k]=t;
    			}
    		}
    		floyd();
    		min=INF;
    		for(i=1;i<=n;i++)
    		{
    			temp=-1;
    			for(j=1;j<=n;j++)
    			{
    				if(i==j)
    					continue;
    				if(dist[i][j]>temp)
    					temp=dist[i][j];
    			}
    			if(temp<min)
    			{
    				min=temp;
    				pe=i;
    			}
    		}
    		if(min<INF)
    			printf("%d %d
    ",pe,min);
    		else
    			printf("disjoint
    ");
    	}
    	return 0;
    }
    
    


     

  • 相关阅读:
    scanf与scanf_s的区别
    PAT 1041 考试座位号
    PAT1018 锤子剪刀布
    Cookie
    JSP--原理
    多线程练习题
    Java线程--线程的同步与锁
    有关toString()和println(Object)
    Java Web请求和响应机制
    IO流
  • 原文地址:https://www.cnblogs.com/vermouth/p/3710221.html
Copyright © 2011-2022 走看看