Submission #653694

#TimeUsernameProblemLanguageResultExecution timeMemory
653694LitusianoConnecting Supertrees (IOI20_supertrees)C++14
Compilation error
0 ms0 KiB
include "supertrees.h" #include <vector> #include <cassert> #include <cstdio> #include <cstdlib> #include <string> #include<bits/stdc++.h> using namespace std; //#define int long long #define f first #define s second #define ii pair<int,int> #define vi vector<int> #define vvi vector<vi> #define vvii vector<vector<ii>> #define pb push_back #define vpi vector<ii> #define forcin for(int i = 0; i<n; ++i) cin>>v[i]; #define pq priority_queue<ii> #define mp make_pair #define ld long double #define vc vector<char> #define vvc vector<vc> #define vb vector<bool> #define vvb vector<vb> #define all(a) (a).begin(),(a).end() #define rall(a) (a).rbegin(),(a).rend() #define For(i, n, x) for (int i = x; i < n; i++) #define rsz(a,x) assign(a,x) #define endl "\n" int construct(vvi p){ // Cap cami, components diferents // tots == 1, graf lineal // tots == 2, graf lineal amb el ultim unit al primer int N = p.size(); bool ok = 0; For(i,N,0){ ok|=(p[i][i] == 0); } if(ok) return 0; vvi used(N,vi(N,0)); if(N == 1){ if(p[0][0] == 1){ build(used); return 1; } return 0; } vpi edges; /*For(i,N,0){ For(j,N,0) cout<<p[i][j]<<" "; cout<<endl; }*/ for(auto x : p){ for(auto e : x){ if(e == 3) return 0; } } For(i,N,0){ For(j,N,0){ if(used[i][j] || i == j) continue; //cout<<p[i][j]<<" "<<j<<endl; if(p[i][j] == 0) continue; //cout<<i<<" "<<j<<endl; // si tinc 1, vaig buscant 1ns sino dosos int cur = j; set<int> act; edges.pb({i,j}); act.insert(i); used[i][j] = used[j][i] = 1; // Miro TOT EL CICLE int last = j; int prev = i; while(!act.count(cur)){ act.insert(j); bool b = false; int nextcur = i; For(k,N,0){ //if(cur == j && k == i) continue; if(cur == k) continue; if(cur == 2){ //cout<<"H"<<" "<<k<<" "<<act.count(k)<<" "<<used[cur][k]<<endl; //for(auto x : act) cout<<x<<" "; cout<<"ENDH"<<endl; } if(act.count(k) && cur != k){ if(p[k][cur] != p[cur][k] || p[cur][k] != p[i][j]){ //cout<<"HERE "<<cur<<" "<<k<<" "<<i<<" "<<j<<" "<<p[i][j]<<" "<<p[cur][k]<<endl; return 0; } } else if(!act.count(k) && p[cur][k] == p[i][j] && !used[cur][k] && !b){ //cout<<i<<" "<<j<<" CUR "<<cur<<" "<<k<<endl; //for(auto x : act) cout<<x<<" "; cout<<endl; //act.insert(k); for(auto x : act){ used[x][k] = used[k][x] = 1; } b = 1; //afegir edge edges.pb({cur,k}); used[cur][k] = 1; used[k][cur] = 1; last = cur; nextcur = k; } } act.insert(cur); last = cur; cur = nextcur; } //cout<<i<<" "<<j<<endl; //for(auto x : act) cout<<x<<" "; cout<<endl; //cerr<<last<<" "<<i<<endl; if(p[i][j] == 2) edges.pb({last,i}); if(act.size() <= 2 && p[i][j] == 2){ //cerr<<i<<" "<<j<<" "<<endl; //for(auto x : act) cerr<<x<<" "; cerr<<endl; return 0; } } } //cout<<"AAAAA"<<endl; //cerr<<edges.size()<<endl; vvi ans(N,vi(N,0)); if(!edges.size()){ // 1 0 1 0 1 0 1 0 1 For(i,N,0){ For(j,N,0){ if(p[i][j] == 1 && i != j) return 0; if(p[i][j] == 2) return 0; } } build(ans); return 1; } sort(all(edges)); for(auto x : edges){ //if(ans[x.f][x.s]) return 0; ans[x.f][x.s] = ans[x.s][x.f] = 1; //cerr<<x.f<<" "<<x.s<<endl; } build(ans); return 1; }

Compilation message (stderr)

supertrees.cpp:1:1: error: 'include' does not name a type
    1 | include "supertrees.h"
      | ^~~~~~~
In file included from /usr/include/c++/10/bits/stl_algobase.h:62,
                 from /usr/include/c++/10/vector:60,
                 from supertrees.cpp:2:
/usr/include/c++/10/ext/type_traits.h:162:35: error: 'bool __gnu_cxx::__is_null_pointer' redeclared as different kind of entity
  162 |   __is_null_pointer(std::nullptr_t)
      |                                   ^
/usr/include/c++/10/ext/type_traits.h:157:5: note: previous declaration 'template<class _Type> bool __gnu_cxx::__is_null_pointer(_Type)'
  157 |     __is_null_pointer(_Type)
      |     ^~~~~~~~~~~~~~~~~
/usr/include/c++/10/ext/type_traits.h:162:26: error: 'nullptr_t' is not a member of 'std'
  162 |   __is_null_pointer(std::nullptr_t)
      |                          ^~~~~~~~~
In file included from /usr/include/c++/10/bits/move.h:57,
                 from /usr/include/c++/10/bits/stl_pair.h:59,
                 from /usr/include/c++/10/bits/stl_algobase.h:64,
                 from /usr/include/c++/10/vector:60,
                 from supertrees.cpp:2:
/usr/include/c++/10/type_traits:200:27: error: 'size_t' has not been declared
  200 |   template <typename _Tp, size_t = sizeof(_Tp)>
      |                           ^~~~~~
/usr/include/c++/10/type_traits:402:31: error: 'std::size_t' has not been declared
  402 |   template<typename _Tp, std::size_t _Size>
      |                               ^~~~~~
/usr/include/c++/10/type_traits:403:25: error: '_Size' was not declared in this scope
  403 |     struct is_array<_Tp[_Size]>
      |                         ^~~~~
/usr/include/c++/10/type_traits:403:31: error: template argument 1 is invalid
  403 |     struct is_array<_Tp[_Size]>
      |                               ^
/usr/include/c++/10/type_traits:508:42: error: 'nullptr_t' is not a member of 'std'
  508 |     struct __is_null_pointer_helper<std::nullptr_t>
      |                                          ^~~~~~~~~
/usr/include/c++/10/type_traits:508:42: error: 'nullptr_t' is not a member of 'std'
/usr/include/c++/10/type_traits:508:51: error: template argument 1 is invalid
  508 |     struct __is_null_pointer_helper<std::nullptr_t>
      |                                                   ^
/usr/include/c++/10/type_traits:984:26: error: 'size_t' has not been declared
  984 |   template<typename _Tp, size_t _Num>
      |                          ^~~~~~
/usr/include/c++/10/type_traits:985:49: error: '_Num' was not declared in this scope
  985 |     struct __is_nt_constructible_impl<true, _Tp[_Num]>
      |                                                 ^~~~
/usr/include/c++/10/type_traits:985:54: error: template argument 2 is invalid
  985 |     struct __is_nt_constructible_impl<true, _Tp[_Num]>
      |                                                      ^
/usr/include/c++/10/type_traits:1351:37: error: 'size_t' is not a member of 'std'
 1351 |     : public integral_constant<std::size_t, alignof(_Tp)>
      |                                     ^~~~~~
/usr/include/c++/10/type_traits:1351:37: error: 'size_t' is not a member of 'std'
/usr/include/c++/10/type_traits:1351:57: error: template argument 1 is invalid
 1351 |     : public integral_constant<std::size_t, alignof(_Tp)>
      |                                                         ^
/usr/include/c++/10/type_traits:1351:57: note: invalid template non-type parameter
/usr/include/c++/10/type_traits:1360:37: error: 'size_t' is not a member of 'std'
 1360 |     : public integral_constant<std::size_t, 0> { };
      |                                     ^~~~~~
/usr/include/c++/10/type_traits:1360:37: error: 'size_t' is not a member of 'std'
/usr/include/c++/10/type_traits:1360:46: error: template argument 1 is invalid
 1360 |     : public integral_constant<std::size_t, 0> { };
      |                                              ^
/usr/include/c++/10/type_traits:1360:46: note: invalid template non-type parameter
/usr/include/c++/10/type_traits:1362:31: error: 'std::size_t' has not been declared
 1362 |   template<typename _Tp, std::size_t _Size>
      |                               ^~~~~~
/usr/include/c++/10/type_traits:1363:21: error: '_Size' was not declared in this scope
 1363 |     struct rank<_Tp[_Size]>
      |                     ^~~~~
/usr/include/c++/10/type_traits:1363:27: error: template argument 1 is invalid
 1363 |     struct rank<_Tp[_Size]>
      |                           ^
/usr/include/c++/10/type_traits:1364:37: error: 'size_t' is not a member of 'std'
 1364 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                     ^~~~~~
/usr/include/c++/10/type_traits:1364:37: error: 'size_t' is not a member of 'std'
/usr/include/c++/10/type_traits:1364:65: error: template argument 1 is invalid
 1364 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                                                 ^
/usr/include/c++/10/type_traits:1364:65: note: invalid template non-type parameter
/usr/include/c++/10/type_traits:1368:37: error: 'size_t' is not a member of 'std'
 1368 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                     ^~~~~~
/usr/include/c++/10/type_traits:1368:37: error: 'size_t' is not a member of 'std'
/usr/include/c++/10/type_traits:1368:65: error: template argument 1 is invalid
 1368 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                                                 ^
/usr/include/c++/10/type_traits:1368:65: note: invalid template non-type parameter
/usr/include/c++/10/type_traits:1373:37: error: 'size_t' is not a member of 'std'
 1373 |     : public integral_constant<std::size_t, 0> { };
      |                                     ^~~~~~
/usr/include/c++/10/type_traits:1373:37: error: 'size_t' is not a member of 'std'
/usr/include/c++/10/type_traits:1373:46: error: template argument 1 is invalid
 1373 |     : public integral_constant<std::size_t, 0> { };
      |                                              ^
/usr/include/c++/10/type_traits:1373:46: note: invalid template non-type parameter
/usr/include/c++/10/type_traits:1375:47: error: 'std::size_t' has not been declared
 1375 |   template<typename _Tp, unsigned _Uint, std::size_t _Size>
      |                                               ^~~~~~
/usr/include/c++/10/type_traits:1376:23: error: '_Size' was not declared in this scope
 1376 |     struct extent<_Tp[_Size], _Uint>
      |                       ^~~~~
/usr/include/c++/10/type_traits:1376:36: error: template argument 1 is invalid
 1376 |     struct extent<_Tp[_Size], _Uint>
      |                                    ^
/usr/include/c++/10/type_traits:1377:37: error: 'size_t' is not a member of 'std'
 1377 |     : public integral_constant<std::size_t,
      |                                     ^~~~~~
/usr/include/c++/10/type_traits:1377:37: error: 'size_t' is not a member of 'std'
/usr/include/c++/10/type_traits:1378:24: error: '_Size' was not declared in this scope
 1378 |           _Uint == 0 ? _Size : extent<_Tp,
      |                        ^~~~~
/usr/include/c++/10/type_traits:1379:28: error: template argument 1 is invalid
 1379 |           _Uint - 1>::value>
      |                            ^
/usr/include/c++/10/type_traits:1379:28: note: invalid template non-type parameter
/usr/include/c++/10/type_traits:1384:37: error: 'size_t' is not a member of 'std'
 1384 |     : public integral_constant<std::size_t,
      |                                     ^~~~~~
/usr/include/c++/10/type_traits:1384:37: error: 'size_t' is not a member of 'std'
/usr/include/c++/10/type_traits:1386:31: error: template argument 1 is invalid
 1386 |              _Uint - 1>::value>
      |                               ^
/usr/include/c++/10/type_traits:1386:31: note: invalid template non-type parameter
/usr/include/c++/10/type_traits:1753:26: error: 'size_t' does not name a type
 1753 |       { static constexpr size_t __size = sizeof(_Tp); };
      |                          ^~~~~~
In file included from /usr/include/c++/10/bits/move.h:57,
                 from /usr/include/c++/10/bits/stl_pair.h:59,
                 from /usr/include/c++/10/bits/stl_algobase.h:64,
                 from /usr/include/c++/10/vector:60,
                 from supertrees.cpp:2:
/usr/include/c++/10/type_traits:1:1: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
  +++ |+#include <cstddef>
    1 | // C++11 <type_traits> -*- C++ -*-
In file included from /usr/include/c++/10/bits/move.h:57,
                 from /usr/include/c++/10/bits/stl_pair.h:59,
                 from /usr/include/c++/10/bits/stl_algobase.h:64,
                 from /usr/include/c++/10/vector:60,
                 from supertrees.cpp:2:
/usr/include/c++/10/type_traits:1755:14: error: 'size_t' has not been declared
 1755 |     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
      |              ^~~~~~
/usr/include/c++/10/type_traits:1755:48: error: '_Sz' was not declared in this scope
 1755 |     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
      |                                                ^~~
/usr/include/c++/10/type_traits:1756:14: error: no default argument for '_Tp'
 1756 |       struct __select;
      |              ^~~~~~~~
/usr/include/c++/10/type_traits:1758:14: error: 'size_t' has not been declared
 1758 |     template<size_t _Sz, typename _Uint, typename... _UInts>
      |              ^~~~~~
/usr/include/c++/10/type_traits:1759:23: error: '_Sz' was not declared in this scope
 1759 |       struct __select<_Sz, _List<_Uint, _UInts...>, true>
      |                       ^~~
/usr/include/c++/10/type_traits:1759:57: error: template argument 1 is invalid
 1759 |       struct __select<_Sz, _List<_Uint, _UInts...>, true>
      |                                                         ^
/usr/include/c++/10/type_traits:1762:14: error: 'size_t' has not been declared
 1762 |     template<size_t _Sz, typename _Uint, typename... _UInts>
      |              ^~~~~~
/usr/include/c++/10/type_traits:1763:23: error: '_Sz' was not declared in this scope
 1763 |       struct __select<_Sz, _List<_Uint, _UInts...>, false>
      |                       ^~~
/usr/include/c++/10/type_traits:1763:58: error: template argument 1 is invalid
 1763 |       struct __select<_Sz, _List<_Uint, _UInts...>, false>
      |                                                          ^
/usr/include/c++/10/type_traits:1764:18: error: '_Sz' was not declared in this scope
 1764 |       : __select<_Sz, _List<_UInts...>>
      |                  ^~~
/usr/include/c++/10/type_traits:1764:38: error: template argument 1 is invalid
 1764 |       : __select<_Sz, _List<_UInts...>>
      |                                      ^~
/usr/include/c++/10/type_traits:1755:60: error: '__size' is not a member of 'std::__make_unsigned_selector_base::_List<unsigned char, short unsigned int, unsigned int, long unsigned int, long long unsigned int>'
 1755 |     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
      |                                                            ^~~~~~
/usr/include/c++/10/type_traits:1777:68: error: template argument 3 is invalid
 1777 |       using __unsigned_type = typename __select<sizeof(_Tp), _UInts>::__type;
      |                                                                    ^
/usr/include/c++/10/type_traits:1781:40: error: '__unsigned_type' was not declared in this scope
 1781 |  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
      |                                        ^~~~~~~~~~~~~~~
/usr/include/c++/10/type_traits:1781:55: error: template argument 2 is invalid
 1781 |  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
      |                                                       ^
/usr/include/c++/10/type_traits:1793:61: error: '__type' in 'class std::__make_unsigned_selector<wchar_t, false, true>' does not name a type
 1793 |  = typename __make_unsigned_selector<wchar_t, false, true>::__type;
      |                                                             ^~~~~~
/usr/include/c++/10/type_traits:1810:62: error: '__type' in 'class std::__make_unsigned_selector<char16_t, false, true>' does not name a type
 1810 |  = typename __make_unsigned_selector<char16_t, false, true>::__type;
      |                                                              ^~~~~~
/usr/include/c++/10/type_traits:1817:62: error: '__type' in 'class std::__make_unsigned_selector<char32_t, false, true>' does not name a type
 1817 |  = typename __make_unsigned_selector<char32_t, false, true>::__type;
      |                                                              ^~~~~~
/usr/include/c++/10/type_traits: In instantiation of 'class std::__make_unsigned_selector<wchar_t, true, false>':
/usr/include/c++/10/type_traits:1904:62:   required from 'class std::__make_signed_selector<wchar_t, false, true>'
/usr/include/c++/10/type_traits:1919:57:   required from here
/usr/include/c++/10/type_traits:1738:13: error: no type named '__type' in 'struct std::__make_unsigned<wchar_t>'
 1738 |       using __unsigned_type
      |             ^~~~~~~~~~~~~~~
/usr/include/c++/10/type_traits:1742:13: error: no type named '__type' in 'struct std::__make_unsigned<wchar_t>'
 1742 |       using __type
      |             ^~~~~~
/usr/include/c++/10/type_traits:1919:59: error: invalid combination of multiple type-specifiers
 1919 |  = typename __make_signed_selector<wchar_t, false, true>::__type;
      |                                                           ^~~~~~
/usr/include/c++/10/type_traits: In instantiation of 'class std::__make_unsigned_selector<char16_t, true, false>':
/usr/include/c++/10/type_traits:1904:62:   required from 'class std::__make_signed_selector<char16_t, false, true>'
/usr/include/c++/10/type_traits:1936:58:   required from here
/usr/include/c++/10/type_traits:1738:13: error: no type named '__type' in 'struct std::__make_unsigned<char16_t>'
 1738 |       using __unsigned_type
      |             ^~~~~~~~~~~~~~~
/usr/include/c++/10/type_traits:1742:13: error: no type named '__type' in 'struct std::__make_unsigned<char16_t>'
 1742 |       using __type
      |             ^~~~~~
/usr/include/c++/10/type_traits:1936:60: error: invalid combination of multiple type-specifiers
 1936 |  = typename __make_signed_selector<char16_t, false, true>::__type;
      |                                                            ^~~~~~
/usr/include/c++/10/type_traits: In instantiation of 'class std::__make_unsigned_selector<char32_t, true, false>':
/usr/include/c++/10/type_traits:1904:62:   required from 'class std::__make_signed_selector<char32_t, false, true>'
/usr/include/c++/10/type_traits:1943:58:   required from here
/usr/include/c++/10/type_traits:1738:13: error: no type named '__type' in 'struct std::__make_unsigned<char32_t>'
 1738 |       using __unsigned_type
      |             ^~~~~~~~~~~~~~~
/usr/include/c++/10/type_traits:1742:13: error: no type named '__type' in 'struct std::__make_unsigned<char32_t>'
 1742 |       using __type
      |             ^~~~~~
/usr/include/c++/10/type_traits:1943:60: error: invalid combination of multiple type-specifiers
 1943 |  = typename __make_signed_selector<char32_t, false, true>::__type;
      |                                                            ^~~~~~
/usr/include/c++/10/type_traits:1975:31: error: 'std::size_t' has not been declared
 1975 |   template<typename _Tp, std::size_t _Size>
      |                               ^~~~~~
/usr/include/c++/10/type_traits:1976:30: error: '_Size' was not declared in this scope
 1976 |     struct remove_extent<_Tp[_Size]>
      |                              ^~~~~
/usr/include/c++/10/type_traits:1976:36: error: template argument 1 is invalid
 1976 |     struct remove_extent<_Tp[_Size]>
      |                                    ^
/usr/include/c++/10/type_traits:1988:31: error: 'std::size_t' has not been declared
 1988 |   template<typename _Tp, std::size_t _Size>
      |                               ^~~~~~
/usr/include/c++/10/type_traits:1989:35: error: '_Size' was not declared in this scope
 1989 |     struct remove_all_extents<_Tp[_Size]>
      |                                   ^~~~~
/usr/include/c++/10/type_traits:1989:41: error: template argument 1 is invalid
 1989 |     struct remove_all_extents<_Tp[_Size]>
      |                                         ^
/usr/include/c++/10/type_traits:2047:17: error: 'std::size_t' has not been declared
 2047 |   template<std::size_t _Len>
      |                 ^~~~~~
/usr/include/c++/10/type_traits:2052:23: error: '_Len' was not declared in this scope
 2052 |  unsigned char __data[_Len];
      |                       ^~~~
/usr/include/c++/10/type_traits:2067:17: error: 'std::size_t' has not been declared
 2067 |   template<std::size_t _Len, std::size_t _Align =
      |                 ^~~~~~
/usr/include/c++/10/type_traits:2067:35: error: 'std::size_t' has not been declared
 2067 |   template<std::size_t _Len, std::size_t _Align =
      |                                   ^~~~~~
/usr/include/c++/10/type_traits:2068:48: error: '_Len' was not declared in this scope
 2068 |     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
      |                                                ^~~~
/usr/include/c++/10/type_traits:2068:52: error: template argument 1 is invalid
 2068 |     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
      |                                                    ^
/usr/include/c++/10/type_traits:2073:23: error: '_Len' was not declared in this scope
 2073 |  unsigned char __data[_Len];
      |                       ^~~~
/usr/include/c++/10/type_traits:2074:37: error: '_Align' was not declared in this scope
 2074 |  struct __attribute__((__aligned__((_Align)))) { } __align;
      |                                     ^~~~~~
/usr/include/c++/10/type_traits:2081:20: error: 'size_t' does not name a type
 2081 |       static const size_t _S_alignment = 0;
      |                    ^~~~~~
/usr/include/c++/10/type_traits:2081:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/10/type_traits:2082:20: error: 'size_t' does not name a type
 2082 |       static const size_t _S_size = 0;
      |                    ^~~~~~
/usr/include/c++/10/type_traits:2082:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/10/type_traits:2088:20: error: 'size_t' does not name a type
 2088 |       static const size_t _S_alignment =
      |                    ^~~~~~
/usr/include/c++/10/type_traits:2088:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/10/type_traits:2091:20: error: 'size_t' does not name a type
 2091 |       static const size_t _S_size =
      |                    ^~~~~~
/usr/include/c++/10/type_traits:2091:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/10/type_traits:2106:13: error: 'size_t' has not been declared
 2106 |   template <size_t _Len, typename... _Types>
      |             ^~~~~~
/usr/include/c++/10/type_traits:2113:20: error: 'size_t' does not name a type
 2113 |       static const size_t _S_len = _Len > __strictest::_S_size
      |                    ^~~~~~
/usr/include/c++/10/type_traits:2113:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/10/type_traits:2117:20: error: 'size_t' does not name a type
 2117 |       static const size_t alignment_value = __stri