제출 #1361079

#제출 시각아이디문제언어결과실행 시간메모리
1361079vjudge1경주 (Race) (IOI11_race)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>

using ll = long long;
using ull = unsigned long long;
#define MOD 1000000007
#define endl '\n'
#define pb(v,i) (v).push_back(i)
#define vll vector<ll>
#define pll pair<ll,ll>

vector<pll> edges[3003];
ll edgedepth[3003], weightdepth[3003];
ll root, seconddaddy[3003];

void dfs(ll node, ll par){
    if (node == par) seconddaddy[node] = node;
    else if (par == root) seconddaddy[node] = node;
    else seconddaddy[node] = seconddaddy[par];

    for (auto [nd, w] : edges[node]){
        if (nd == par) continue;
        edgedepth[nd] = edgedepth[node] + 1;
        weightdepth[nd] = weightdepth[node] + w;
        dfs(nd, node);
    }
}

int best_path(int N, int K, int H[][2], int L[]){
    int ans = 5*N;

    for (int i=0; i<N-1; i++){
        edges[H[i][0]].push_back({H[i][1], L[i]});
        edges[H[i][1]].push_back({H[i][0], L[i]});
    }

    for(root=0; root < N; root++){
        for (int i=0; i <= N; i++){
            edgedepth[i] = weightdepth[i] = seconddaddy[i] = 0;
        }
        dfs(root, root);
        for (int i=0; i < N; i++){
            for (int j=i+1; j < N; j++){
                if (seconddaddy[i] == seconddaddy[j] or weightdepth[i] + weightdepth[j] != K) continue;

                ans=min(ll(ans), edgedepth[i] + edgedepth[j]);
            }
        }
    }
    return (ans == 5*N ? -1 : ans);
}

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

race.cpp:9:13: error: 'pair' was not declared in this scope; did you mean 'std::pair'?
    9 | #define pll pair<ll,ll>
      |             ^~~~
race.cpp:11:8: note: in expansion of macro 'pll'
   11 | vector<pll> edges[3003];
      |        ^~~
In file included from /usr/include/c++/13/bits/stl_algobase.h:64,
                 from /usr/include/c++/13/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51,
                 from race.cpp:1:
/usr/include/c++/13/bits/stl_pair.h:187:12: note: 'std::pair' declared here
  187 |     struct pair
      |            ^~~~
race.cpp:9:13: error: 'pair' was not declared in this scope; did you mean 'std::pair'?
    9 | #define pll pair<ll,ll>
      |             ^~~~
race.cpp:11:8: note: in expansion of macro 'pll'
   11 | vector<pll> edges[3003];
      |        ^~~
/usr/include/c++/13/bits/stl_pair.h:187:12: note: 'std::pair' declared here
  187 |     struct pair
      |            ^~~~
race.cpp:9:13: error: 'pair' was not declared in this scope; did you mean 'std::pair'?
    9 | #define pll pair<ll,ll>
      |             ^~~~
race.cpp:11:8: note: in expansion of macro 'pll'
   11 | vector<pll> edges[3003];
      |        ^~~
/usr/include/c++/13/bits/stl_pair.h:187:12: note: 'std::pair' declared here
  187 |     struct pair
      |            ^~~~
race.cpp:9:13: error: 'pair' was not declared in this scope; did you mean 'std::pair'?
    9 | #define pll pair<ll,ll>
      |             ^~~~
race.cpp:11:8: note: in expansion of macro 'pll'
   11 | vector<pll> edges[3003];
      |        ^~~
/usr/include/c++/13/bits/stl_pair.h:187:12: note: 'std::pair' declared here
  187 |     struct pair
      |            ^~~~
race.cpp:9:13: error: 'pair' was not declared in this scope; did you mean 'std::pair'?
    9 | #define pll pair<ll,ll>
      |             ^~~~
race.cpp:11:8: note: in expansion of macro 'pll'
   11 | vector<pll> edges[3003];
      |        ^~~
/usr/include/c++/13/bits/stl_pair.h:187:12: note: 'std::pair' declared here
  187 |     struct pair
      |            ^~~~
race.cpp:9:13: error: 'pair' was not declared in this scope; did you mean 'std::pair'?
    9 | #define pll pair<ll,ll>
      |             ^~~~
race.cpp:11:8: note: in expansion of macro 'pll'
   11 | vector<pll> edges[3003];
      |        ^~~
/usr/include/c++/13/bits/stl_pair.h:187:12: note: 'std::pair' declared here
  187 |     struct pair
      |            ^~~~
race.cpp:9:13: error: 'pair' was not declared in this scope; did you mean 'std::pair'?
    9 | #define pll pair<ll,ll>
      |             ^~~~
race.cpp:11:8: note: in expansion of macro 'pll'
   11 | vector<pll> edges[3003];
      |        ^~~
/usr/include/c++/13/bits/stl_pair.h:187:12: note: 'std::pair' declared here
  187 |     struct pair
      |            ^~~~
race.cpp:9:13: error: 'pair' was not declared in this scope; did you mean 'std::pair'?
    9 | #define pll pair<ll,ll>
      |             ^~~~
race.cpp:11:8: note: in expansion of macro 'pll'
   11 | vector<pll> edges[3003];
      |        ^~~
/usr/include/c++/13/bits/stl_pair.h:187:12: note: 'std::pair' declared here
  187 |     struct pair
      |            ^~~~
race.cpp:9:13: error: 'pair' was not declared in this scope; did you mean 'std::pair'?
    9 | #define pll pair<ll,ll>
      |             ^~~~
race.cpp:11:8: note: in expansion of macro 'pll'
   11 | vector<pll> edges[3003];
      |        ^~~
/usr/include/c++/13/bits/stl_pair.h:187:12: note: 'std::pair' declared here
  187 |     struct pair
      |            ^~~~
race.cpp:11:1: error: 'vector' does not name a type
   11 | vector<pll> edges[3003];
      | ^~~~~~
race.cpp: In function 'void dfs(ll, ll)':
race.cpp:20:25: error: 'edges' was not declared in this scope
   20 |     for (auto [nd, w] : edges[node]){
      |                         ^~~~~
race.cpp: In function 'int best_path(int, int, int (*)[2], int*)':
race.cpp:32:9: error: 'edges' was not declared in this scope
   32 |         edges[H[i][0]].push_back({H[i][1], L[i]});
      |         ^~~~~
race.cpp:45:21: error: 'min' was not declared in this scope
   45 |                 ans=min(ll(ans), edgedepth[i] + edgedepth[j]);
      |                     ^~~
race.cpp:45:21: note: suggested alternatives:
In file included from /usr/include/c++/13/algorithm:61:
/usr/include/c++/13/bits/stl_algo.h:5785:5: note:   'std::min'
 5785 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
In file included from /usr/include/c++/13/bits/ranges_algo.h:39,
                 from /usr/include/c++/13/algorithm:63:
/usr/include/c++/13/bits/ranges_util.h:738:29: note:   'std::ranges::min'
  738 |   inline constexpr __min_fn min{};
      |                             ^~~