제출 #524804

#제출 시각아이디문제언어결과실행 시간메모리
524804qwerasdfzxclMountains and Valleys (CCO20_day1problem3)C++14
2 / 25
13 ms12492 KiB
#include <bits/stdc++.h>

typedef long long ll;
using namespace std;
vector<pair<int, int>> adj[500500];
int dist[500500];

void dfs(int s, int pa = -1){
    if (pa==-1) dist[s] = 0;
    else dist[s] = dist[pa] + 1;
    for (auto &v:adj[s]) if (v.first!=pa) dfs(v.first, s);
}

int main(){
    int n, m;
    scanf("%d %d", &n, &m);
    for (int i=0;i<m;i++){
        int x, y, z;
        scanf("%d %d %d", &x, &y, &z);
        if (z!=1) continue;
        adj[x].emplace_back(y, z);
        adj[y].emplace_back(x, z);
    }

    dfs(0);
    dfs(max_element(dist, dist+n)-dist);
    printf("%d\n", (n-1)*2 - *max_element(dist, dist+n));
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp: In function 'int main()':
Main.cpp:16:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |     scanf("%d %d", &n, &m);
      |     ~~~~~^~~~~~~~~~~~~~~~~
Main.cpp:19:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |         scanf("%d %d %d", &x, &y, &z);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...