• 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("%lld
    ",f-1);
    60 
    61     return 0;
    62 }
  • 相关阅读:
    四月十五号日报
    四月十一号日报
    四月八号日报
    五月六号日报
    CCSUOJ评测系统——第四次scrum冲刺
    CCSUOJ评测系统——第三次scrum冲刺
    CCSUOJ评测系统——第二次scrum冲刺
    C# Process 进程管理
    [C#][收集整理]
    [C#][收集整理]
  • 原文地址:https://www.cnblogs.com/wsy107316/p/12243253.html
Copyright © 2020-2023  润新知