zoukankan      html  css  js  c++  java
  • P1462 通往奥格瑞玛的道路

    题目

    真可以,我昨天写的全不对。今天写的一次ac

    就是二分答案+spfa

    #include<iostream>
    #include<cstdio>
    #include<queue>
    #include<algorithm>
    using namespace std;
    int n,m;
    long long b;
    long long price[11000];
    struct node
    {
    	int point;
    	int nxt;
    	long long weight;
    };
    node line[101000];
    int head[10100],tail;
    bool inque[11000];
    queue<int>q;
    long long dis[11000];
    bool check(long long val)
    {
    	if(price[1]>val)
    		return true;
    	for(int i=1;i<=n;i++)
    		dis[i]=1844674407370955161;
    	dis[1]=0;
    	q.push(1);
    	inque[1]=true;
    	int pass;
    	while(!q.empty())
    	{
    		pass=q.front();
    		q.pop();
    		inque[pass]=false;
    		for(int i=head[pass];i;i=line[i].nxt)
    			if(dis[line[i].point]>dis[pass]+line[i].weight&&price[line[i].point]<=val)
    			{
    				dis[line[i].point]=dis[pass]+line[i].weight;
    				if(!inque[line[i].point])
    				{
    					inque[line[i].point]=true;
    					q.push(line[i].point);
    				}
    			}
    	}
    	if(dis[n]==1844674407370955161||dis[n]>b)
    		return true;
    	return false;
    }
    void add(int a,int b,long long c)
    {
    	line[++tail].point=b;
    	line[tail].weight=c;
    	line[tail].nxt=head[a];
    	head[a]=tail;
    	return ;
    }
    int main()
    {
    	scanf("%d%d%lld",&n,&m,&b);
    	long long l=0,r=0;
    	for(int i=1;i<=n;i++)
    	{
    		scanf("%lld",&price[i]);
    		r=max(r,price[i]);
    	}
    	int a,d;
    	long long c;
    	for(int i=1;i<=m;i++)
    	{
    		//scanf("%d%d%lld",&a,&d,&c);
    		cin>>a>>d>>c;//不知道为什么scanf不对
    		add(a,d,c);
    		add(d,a,c);
    	}
    	if(check(r+1))
    	{
    		printf("AFK");
    		return 0;
    	}
    	while(l<r)
    	{
    		long long mid=(l+r)>>1;
    		if(check(mid))
    			l=mid+1;
    		else
    			r=mid;
    	}
    	printf("%lld",l);
    	return 0;
    }
    
  • 相关阅读:
    js过滤HTML标签以及&nbsp;
    Sharepoint的web.config配置
    javascript 动态添加div等这样的标签包含一些元素
    SPMetal 日志导出Caml语句
    sitepage applicationPage 区别
    exchange部署的好处
    SPSiteDataQuery不完全使用手册
    WP7 开发(十二) WebBrowser控件
    WP7 开发(十一) Web Task
    WP7 开发(十四) ApplicationBar
  • 原文地址:https://www.cnblogs.com/Lance1ot/p/8659465.html
Copyright © 2011-2022 走看看