제출 #655938

#제출 시각아이디문제언어결과실행 시간메모리
655938aebovNetwork (BOI15_net)C++17
컴파일 에러
0 ms0 KiB
#include<iostream> #include<vector> #include<cstring> #include<utility> #define pb push_back #define pii pair<int, int> #define F first #define S second using namespace std; const int N = (int)5e5 + 5; int n , u, v, ind[N], _id = 0, root = 1; vector<int> leafs; vector<pii> ret; vector<int> adj[N]; void dfs(int v,int p){ ind[v] = _id ++; for(auto u : adj[v])if(u != p)dfs(u , v); } int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; for(int i = 1; i < n ; i ++){ cin >> u >> v; adj[u].pb(v); adj[v].pb(u); } for(int i = 1; i <= n; i ++)if(adj[i].size() > 1)root = i; dfs(root, root); for(int i = 1; i <= n; i ++){ if(adj[i].size() == 1)ret.pb({ind[i], i}); } sort(ret.begin(), ret.end()); int sz= ret.size(); cout << (sz + 1) >> 1; for(int i = 0; i < sz/2; i ++) cout << ret[i].S << " " << ret[i + (sz+1)/2].S << endl; if(k&1) cout << ret[sz/2].S << " " << root << endl; exit(0); }

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

net.cpp: In function 'int main()':
net.cpp:34:2: error: 'sort' was not declared in this scope; did you mean 'qsort'?
   34 |  sort(ret.begin(), ret.end());
      |  ^~~~
      |  qsort
net.cpp:36:19: error: no match for 'operator>>' (operand types are 'std::basic_ostream<char>' and 'int')
   36 |  cout << (sz + 1) >> 1;
      |  ~~~~~~~~~~~~~~~~ ^~ ~
      |       |              |
      |       |              int
      |       std::basic_ostream<char>
net.cpp:36:19: note: candidate: 'operator>>(int, int)' (built-in)
   36 |  cout << (sz + 1) >> 1;
      |  ~~~~~~~~~~~~~~~~~^~~~
net.cpp:36:19: note:   no known conversion for argument 1 from 'std::basic_ostream<char>' to 'int'
In file included from /usr/include/c++/10/string:56,
                 from /usr/include/c++/10/bits/locale_classes.h:40,
                 from /usr/include/c++/10/bits/ios_base.h:41,
                 from /usr/include/c++/10/ios:42,
                 from /usr/include/c++/10/ostream:38,
                 from /usr/include/c++/10/iostream:39,
                 from net.cpp:1:
/usr/include/c++/10/bits/basic_string.tcc:1476:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
 1476 |     operator>>(basic_istream<_CharT, _Traits>& __in,
      |     ^~~~~~~~
/usr/include/c++/10/bits/basic_string.tcc:1476:5: note:   template argument deduction/substitution failed:
net.cpp:36:22: note:   'std::basic_ostream<char>' is not derived from 'std::basic_istream<_CharT, _Traits>'
   36 |  cout << (sz + 1) >> 1;
      |                      ^
In file included from /usr/include/c++/10/istream:991,
                 from /usr/include/c++/10/iostream:40,
                 from net.cpp:1:
/usr/include/c++/10/bits/istream.tcc:931:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT&)'
  931 |     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
      |     ^~~~~~~~
/usr/include/c++/10/bits/istream.tcc:931:5: note:   template argument deduction/substitution failed:
net.cpp:36:22: note:   'std::basic_ostream<char>' is not derived from 'std::basic_istream<_CharT, _Traits>'
   36 |  cout << (sz + 1) >> 1;
      |                      ^
In file included from /usr/include/c++/10/iostream:40,
                 from net.cpp:1:
/usr/include/c++/10/istream:756:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char&)'
  756 |     operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
      |     ^~~~~~~~
/usr/include/c++/10/istream:756:5: note:   template argument deduction/substitution failed:
net.cpp:36:22: note:   'std::basic_ostream<char>' is not derived from 'std::basic_istream<char, _Traits>'
   36 |  cout << (sz + 1) >> 1;
      |                      ^
In file included from /usr/include/c++/10/iostream:40,
                 from net.cpp:1:
/usr/include/c++/10/istream:761:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char&)'
  761 |     operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
      |     ^~~~~~~~
/usr/include/c++/10/istream:761:5: note:   template argument deduction/substitution failed:
net.cpp:36:22: note:   'std::basic_ostream<char>' is not derived from 'std::basic_istream<char, _Traits>'
   36 |  cout << (sz + 1) >> 1;
      |                      ^
In file included from /usr/include/c++/10/istream:991,
                 from /usr/include/c++/10/iostream:40,
                 from net.cpp:1:
/usr/include/c++/10/bits/istream.tcc:963:5: note: candidate: 'template<class _CharT2, class _Traits2> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT2*)'
  963 |     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
      |     ^~~~~~~~
/usr/include/c++/10/bits/istream.tcc:963:5: note:   template argument deduction/substitution failed:
net.cpp:36:22: note:   'std::basic_ostream<char>' is not derived from 'std::basic_istream<_CharT, _Traits>'
   36 |  cout << (sz + 1) >> 1;
      |                      ^
In file included from /usr/include/c++/10/iostream:40,
                 from net.cpp:1:
/usr/include/c++/10/istream:803:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*)'
  803 |     operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
      |     ^~~~~~~~
/usr/include/c++/10/istream:803:5: note:   template argument deduction/substitution failed:
net.cpp:36:22: note:   'std::basic_ostream<char>' is not derived from 'std::basic_istream<char, _Traits>'
   36 |  cout << (sz + 1) >> 1;
      |                      ^
In file included from /usr/include/c++/10/iostream:40,
                 from net.cpp:1:
/usr/include/c++/10/istream:808:5: note: candidate: 'template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*)'
  808 |     operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
      |     ^~~~~~~~
/usr/include/c++/10/istream:808:5: note:   template argument deduction/substitution failed:
net.cpp:36:22: note:   'std::basic_ostream<char>' is not derived from 'std::basic_istream<char, _Traits>'
   36 |  cout << (sz + 1) >> 1;
      |                      ^
In file included from /usr/include/c++/10/iostream:40,
                 from net.cpp:1:
/usr/include/c++/10/istream:980:5: note: candidate: 'template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&)'
  980 |     operator>>(_Istream&& __is, _Tp&& __x)
      |     ^~~~~~~~
/usr/include/c++/10/istream:980:5: note:   template argument deduction/substitution failed:
/usr/include/c++/10/istream: In substitution of 'template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&) [with _Istream = std::basic_ostream<char>&; _Tp = int]':
net.cpp:36:22:   required from here
/usr/include/c++/10/istream:980:5: error: no type named 'type' in 'struct std::enable_if<false, void>'
net.cpp:38:5: error: 'k' was not declared in this scope
   38 |  if(k&1) cout << ret[sz/2].S << " " << root << endl;
      |     ^