Coloring Contention

Coloring Contention 

Coloring Contention

 

 Coloring Contention

 

 AC_Code

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <ctime>
 4 #include <algorithm>
 5 #include <string>
 6 #include <cstring>
 7 #include <bits/stdc++.h>
 8 typedef long long ll;
 9 
10 const int maxn = 100100;
11 const ll INF = 1e18+9;
12 using namespace std;
13 
14 ll x[maxn],y[maxn];
15 vector<pair<ll,ll> >v[maxn];
16 priority_queue<pair<ll,ll> >Q;
17 ll n,m;
18 ll length[maxn];
19 
20 int dij(){
21 
22     ll i;
23     for(i=0;i<=n;i++){
24         v[i].clear();
25         length[i] = INF;
26     }
27 
28     for(i=1; i<=m; i++){
29         v[x[i]].push_back(make_pair(y[i],1));
30         v[y[i]].push_back(make_pair(x[i],1));
31     }
32     Q.push(make_pair(0,1));
33     length[1] = 0;
34 
35     while( !Q.empty()){
36         ll a, b, c, d;
37         a = Q.top().second;
38         b = Q.top().first;
39         Q.pop();
40         for( i=0;i<v[a].size(); i++){
41             c = v[a][i].first;
42             d = v[a][i].second;
43             if( length[c]>length[a]+d ){
44                 length[c] = length[a]+d;
45                 Q.push(make_pair(-length[c],c));///优先队列从大到小排,为了从小到大排,我们存入一个负的值
46             }
47         }
48     }
49     return length[n];
50 }
51 
52 int main()
53 {
54     scanf("%lld%lld",&n,&m);
55     for(int i=1;i<=m;i++){
56         scanf("%lld%lld",&x[i],&y[i]);
57     }
58     ll f=dij();
59     printf("%lldn",f-1);
60 
61     return 0;
62 }

 

原文链接: https://www.cnblogs.com/wsy107316/p/12243253.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    Coloring Contention

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/326087

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午3:40
下一篇 2023年3月1日 下午3:40

相关推荐