제출 #1205358

#제출 시각아이디문제언어결과실행 시간메모리
1205358phamtienhoangMuseum (CEOI17_museum)C++17
컴파일 에러
0 ms0 KiB
#include <iostream> #include <vector> #include <map> #include <string> #include <algorithm> #include <cassert> #include <cstring> using namespace std; const int N = 10005; int n , k , root; vector<pair<int , int > > adj[N]; int f[N][N][2]; int sz[N]; void dfs(int u , int father){ sz[u] = 1; f[u][1][0] = f[u][1][1] = 0LL; for(int i = 0 ; i < adj[u].size() ; i++){ int v = adj[u][i].first; int cost = adj[u][i].second; if(v == father){ continue; } dfs(v, u); int g[N][2]; memset(g , 0x3f, sizeof(g)); for(int i = sz[u] ; i >= 0 ; i-- ){ for(int j = sz[v] ; j >= 0 ; j--){ g[i + j][0] = min(g[i + j][0] , f[u][i][1] + f[v][j][0] + cost); g[i + j][0] = min(g[i + j][0] , f[u][i][0] + f[v][j][1] + 2LL * cost); g[i + j][1] = min(g[i + j][1] , f[u][i][1] + f[v][j][1] + 2LL * cost); } } sz[u] += sz[v]; for(int i = 1; i <= sz[u] ; i++){ f[u][i][0] = min(f[u][i][0] , g[i][0]); f[u][i][1] = min(f[u][i][1] , g[i][1]); } } } int main(){ cin >> n >> k >> root; for(int i = 1; i < n ; i++){ int u , v ; int int cost; cin >> u >> v >> cost; adj[u].push_back(make_pair(v, cost)); adj[v].push_back(make_pair(u , cost)); } memset(f , 0x3f , sizeof(f)); dfs(root, -1); cout << f[root][k][0]; return 0; }

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

museum.cpp: In function 'void dfs(int, int)':
museum.cpp:32:50: error: no matching function for call to 'min(int&, long long int)'
   32 |                                 g[i + j][0] = min(g[i + j][0] , f[u][i][0] + f[v][j][1] + 2LL * cost);
      |                                               ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from museum.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:230:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)'
  230 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:230:5: note:   template argument deduction/substitution failed:
museum.cpp:32:50: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   32 |                                 g[i + j][0] = min(g[i + j][0] , f[u][i][0] + f[v][j][1] + 2LL * cost);
      |                                               ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from museum.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:278:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)'
  278 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:278:5: note:   template argument deduction/substitution failed:
museum.cpp:32:50: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   32 |                                 g[i + j][0] = min(g[i + j][0] , f[u][i][0] + f[v][j][1] + 2LL * cost);
      |                                               ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:62,
                 from museum.cpp:5:
/usr/include/c++/11/bits/stl_algo.h:3449:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(std::initializer_list<_Tp>)'
 3449 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3449:5: note:   template argument deduction/substitution failed:
museum.cpp:32:50: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   32 |                                 g[i + j][0] = min(g[i + j][0] , f[u][i][0] + f[v][j][1] + 2LL * cost);
      |                                               ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:62,
                 from museum.cpp:5:
/usr/include/c++/11/bits/stl_algo.h:3455:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(std::initializer_list<_Tp>, _Compare)'
 3455 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3455:5: note:   template argument deduction/substitution failed:
museum.cpp:32:50: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   32 |                                 g[i + j][0] = min(g[i + j][0] , f[u][i][0] + f[v][j][1] + 2LL * cost);
      |                                               ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
museum.cpp:33:50: error: no matching function for call to 'min(int&, long long int)'
   33 |                                 g[i + j][1] = min(g[i + j][1] , f[u][i][1] + f[v][j][1] + 2LL * cost);
      |                                               ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from museum.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:230:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)'
  230 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:230:5: note:   template argument deduction/substitution failed:
museum.cpp:33:50: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   33 |                                 g[i + j][1] = min(g[i + j][1] , f[u][i][1] + f[v][j][1] + 2LL * cost);
      |                                               ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from museum.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:278:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)'
  278 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:278:5: note:   template argument deduction/substitution failed:
museum.cpp:33:50: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   33 |                                 g[i + j][1] = min(g[i + j][1] , f[u][i][1] + f[v][j][1] + 2LL * cost);
      |                                               ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:62,
                 from museum.cpp:5:
/usr/include/c++/11/bits/stl_algo.h:3449:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(std::initializer_list<_Tp>)'
 3449 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3449:5: note:   template argument deduction/substitution failed:
museum.cpp:33:50: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   33 |                                 g[i + j][1] = min(g[i + j][1] , f[u][i][1] + f[v][j][1] + 2LL * cost);
      |                                               ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:62,
                 from museum.cpp:5:
/usr/include/c++/11/bits/stl_algo.h:3455:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(std::initializer_list<_Tp>, _Compare)'
 3455 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3455:5: note:   template argument deduction/substitution failed:
museum.cpp:33:50: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   33 |                                 g[i + j][1] = min(g[i + j][1] , f[u][i][1] + f[v][j][1] + 2LL * cost);
      |                                               ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
museum.cpp: In function 'int main()':
museum.cpp:48:17: error: two or more data types in declaration of 'cost'
   48 |                 int int cost;
      |                 ^~~
museum.cpp:49:34: error: 'cost' was not declared in this scope
   49 |                 cin >> u >> v >> cost;
      |                                  ^~~~