Submission #1273019

#TimeUsernameProblemLanguageResultExecution timeMemory
1273019goulthenRigged Roads (NOI19_riggedroads)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define rep(i,a,b) for(int i = a; i <= b; i++) #define per(i,a,b) for(int i = a; i >= b; i--) #define pii pair<int,int> #define pb push_back #define fi first #define se second const int MAXN = 1e3+10; const int INF = 1e18+10; vector<int> g[MAXN]; int u[MAXN], v[MAXN], tin[MAXN], tout[MAXN], val[MAXN]; int span[MAXN]; int t = 0; void dfs(int u, int p = -1) { tin[u] = ++t; for (int &v : g[u]) if (v!=p) dfs(v,u); tout[u] = ++t; } bool chd(int u, int v) { // v child of u return tin[u] <= tin[v] && tout[u] >= tout[v]; } int32_t main() { ios_base::sync_with_stdio(0); cin.tie(nullptr); int n,m; cin >> n >> m; rep(i,1,m) cin >> u[i] >> v[i]; rep(i,1,n-1) { int c;cin >> c; span[i] = c; int x = u[c], y=v[c]; g[x].pb(y); g[y].pb(x); } dfs(1); int cur = 0; rep(i,1,m) { if(val[i]) continue; vector<int> vc; rep(j,1,n-1) { if (((chd(u[span[j]],u[i]) && chd(v[span[j]],u[i])) || (chd(u[span[j]],v[i]) && chd(v[span[j]],v[i]))) && !val[j]) vc.pb(span[j]); } sort(vc.begin(), vc.end()); for (int &x : vc) val[x] = ++cur; if(!val[i]) val[i] = ++cur; } rep(i,1,m) cout << val[i] << " \n"[i==m]; return 0; }

Compilation message (stderr)

riggedroads.cpp: In function 'int32_t main()':
riggedroads.cpp:37:17: error: reference to 'span' is ambiguous
   37 |                 span[i] = c;
      |                 ^~~~
In file included from /usr/include/c++/13/ranges:45,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:89,
                 from riggedroads.cpp:1:
/usr/include/c++/13/span:56:11: note: candidates are: 'template<class _Type, long unsigned int _Extent> class std::span'
   56 |     class span;
      |           ^~~~
riggedroads.cpp:16:5: note:                 'long long int span [1010]'
   16 | int span[MAXN];
      |     ^~~~
riggedroads.cpp:51:37: error: reference to 'span' is ambiguous
   51 |                         if (((chd(u[span[j]],u[i]) && chd(v[span[j]],u[i])) || (chd(u[span[j]],v[i]) && chd(v[span[j]],v[i]))) && !val[j]) vc.pb(span[j]);
      |                                     ^~~~
/usr/include/c++/13/span:56:11: note: candidates are: 'template<class _Type, long unsigned int _Extent> class std::span'
   56 |     class span;
      |           ^~~~
riggedroads.cpp:16:5: note:                 'long long int span [1010]'
   16 | int span[MAXN];
      |     ^~~~
riggedroads.cpp:51:61: error: reference to 'span' is ambiguous
   51 |                         if (((chd(u[span[j]],u[i]) && chd(v[span[j]],u[i])) || (chd(u[span[j]],v[i]) && chd(v[span[j]],v[i]))) && !val[j]) vc.pb(span[j]);
      |                                                             ^~~~
/usr/include/c++/13/span:56:11: note: candidates are: 'template<class _Type, long unsigned int _Extent> class std::span'
   56 |     class span;
      |           ^~~~
riggedroads.cpp:16:5: note:                 'long long int span [1010]'
   16 | int span[MAXN];
      |     ^~~~
riggedroads.cpp:51:87: error: reference to 'span' is ambiguous
   51 |                         if (((chd(u[span[j]],u[i]) && chd(v[span[j]],u[i])) || (chd(u[span[j]],v[i]) && chd(v[span[j]],v[i]))) && !val[j]) vc.pb(span[j]);
      |                                                                                       ^~~~
/usr/include/c++/13/span:56:11: note: candidates are: 'template<class _Type, long unsigned int _Extent> class std::span'
   56 |     class span;
      |           ^~~~
riggedroads.cpp:16:5: note:                 'long long int span [1010]'
   16 | int span[MAXN];
      |     ^~~~
riggedroads.cpp:51:111: error: reference to 'span' is ambiguous
   51 |                         if (((chd(u[span[j]],u[i]) && chd(v[span[j]],u[i])) || (chd(u[span[j]],v[i]) && chd(v[span[j]],v[i]))) && !val[j]) vc.pb(span[j]);
      |                                                                                                               ^~~~
/usr/include/c++/13/span:56:11: note: candidates are: 'template<class _Type, long unsigned int _Extent> class std::span'
   56 |     class span;
      |           ^~~~
riggedroads.cpp:16:5: note:                 'long long int span [1010]'
   16 | int span[MAXN];
      |     ^~~~
riggedroads.cpp:51:146: error: reference to 'span' is ambiguous
   51 |                         if (((chd(u[span[j]],u[i]) && chd(v[span[j]],u[i])) || (chd(u[span[j]],v[i]) && chd(v[span[j]],v[i]))) && !val[j]) vc.pb(span[j]);
      |                                                                                                                                                  ^~~~
/usr/include/c++/13/span:56:11: note: candidates are: 'template<class _Type, long unsigned int _Extent> class std::span'
   56 |     class span;
      |           ^~~~
riggedroads.cpp:16:5: note:                 'long long int span [1010]'
   16 | int span[MAXN];
      |     ^~~~