답안 #1088354

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1088354 2024-09-14T09:41:05 Z Rolo678 Aesthetic (NOI20_aesthetic) C++14
0 / 100
300 ms 40020 KB
#include <bits/stdc++.h>
using namespace std;
#define int long long
vector<vector<pair<int,int>>>g(3e5+5);
vector<long long>dp2(3e5+5,-1);
 vector<long long>dp(3e5+5,-1);
 
signed main()
{
  int n,m;
  cin >> n>>m;
 // cin >> n >> m;
  vector<pair<int,int>>e(m);
  for(int i = 1;i<=m;i++)
  {
    int a,b,w;
    cin >> a >> b >> w;
    //cout << 'o';
    g[a].push_back({b,i});
    g[b].push_back({a,i});
    e[i-1] = {a,b};
//cout << 'o';
  }
 
  //dfs();
  dp[1] =0;
  queue<int>q;
  q.push(1);
  while(!q.empty())
  {
   int v = q.front();
    q.pop();
    for(auto u : g[v])
    {
      if(dp[u.first] == -1)
      {
        q.push(u.first);
        dp[u.first] = dp[v] + 1;
      }
    }
  }
    dp2[n] =0;
  //queue<int>q;
  q.push(n);
  while(!q.empty())
  {
    int v = q.front();
    q.pop();
    for(auto u : g[v])
    {
      if(dp2[u.first] == -1)
      {
        q.push(u.first);
        dp2[u.first] = dp2[v] + 1;
      }
    }
  }
  int mn = 1e9+5;
  int num = 0;
  int mn2 = 1e9+5;
  for(auto i : e)
  {
    if(dp[i.first] == mn && dp2[i.second]== mn2)
    {
      num++;
    }
    else if(dp[i.first] + dp2[i.second]+1 <mn+mn2+1)
    {
       mn = dp[i.first];
       mn2 =  dp2[i.second];
     num = 1;
    }
 
   // cout <<  dp[i.first] + dp2[i.second]+1 << '\n';
  }
   cout << mn+mn2+1 + (num == 1);
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 12124 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 12124 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 292 ms 39480 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 300 ms 40020 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 212 ms 37192 KB Output is correct
2 Incorrect 173 ms 34896 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 212 ms 37192 KB Output is correct
2 Incorrect 173 ms 34896 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 12124 KB Output isn't correct
2 Halted 0 ms 0 KB -