제출 #1237940

#제출 시각아이디문제언어결과실행 시간메모리
1237940Muhammad_AneeqVision Program (IOI19_vision)C++17
컴파일 에러
0 ms0 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; void construct_network(int n, int m, int k) { map<int,vector<int>>sl,sl1; map<int,int>ind,ind1; for (int i=0;i<n;i++) { for (int j=0;j<m;j++) { sl[i+j].push_back(i*m+j); sl1[i-j].push_back(i*m+j); } } set<int>s,s1; for (auto [i,j]:sl) { ind[i]=add_or(j); s.insert(i); } for (auto [i,j]:sl1) { s1.insert(i); ind1[i]=add_or(j); } vector<int>nx; for (auto i:s) { if (s.find(i+k)==s.end()) continue; vector<int>x; for (int j=i-k;j<=i+k;j++) { if (s1.find(j)!=s1.end()) x.push_back(ind1[j]); } if (x.size()==0) { nx.push_back({add_and(ind[i],ind[i+k])}); continue; } int g=add_or(x); nx.push_back(add_and({g,ind[i],ind[i+k]})); } for (auto i:s1) { if (s1.find(i+k)==s1.end()) continue; vector<int>x; for (int j=i-k;j<=i+k;j++) { if (s.find(j)!=s.end()) x.push_back(ind[j]); } if (x.size()==0) { nx.push_back({add_and(ind1[i],ind1[i+k])}); continue; } int g=add_or(x); nx.push_back(add_and({g,ind1[i],ind1[i+k]})); } add_or(nx); return; }

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

vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:39:54: error: could not convert 'ind.std::map<int, int>::operator[](i)' from 'std::map<int, int>::mapped_type' {aka 'int'} to 'std::vector<int>'
   39 |                                 nx.push_back({add_and(ind[i],ind[i+k])});
      |                                               ~~~~~~~^~~~~~~~~~~~~~~~~
      |                                                      |
      |                                                      std::map<int, int>::mapped_type {aka int}
vision.cpp:39:45: error: no matching function for call to 'std::vector<int>::push_back(<brace-enclosed initializer list>)'
   39 |                                 nx.push_back({add_and(ind[i],ind[i+k])});
      |                                 ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:67,
                 from vision.h:5,
                 from vision.cpp:1:
/usr/include/c++/11/bits/stl_vector.h:1187:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::value_type = int]'
 1187 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1187:35: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type&' {aka 'const int&'}
 1187 |       push_back(const value_type& __x)
      |                 ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/11/bits/stl_vector.h:1203:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::value_type = int]'
 1203 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1203:30: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::vector<int>::value_type&&' {aka 'int&&'}
 1203 |       push_back(value_type&& __x)
      |                 ~~~~~~~~~~~~~^~~
vision.cpp:56:54: error: could not convert 'ind1.std::map<int, int>::operator[](i)' from 'std::map<int, int>::mapped_type' {aka 'int'} to 'std::vector<int>'
   56 |                                 nx.push_back({add_and(ind1[i],ind1[i+k])}); continue;
      |                                               ~~~~~~~^~~~~~~~~~~~~~~~~~~
      |                                                      |
      |                                                      std::map<int, int>::mapped_type {aka int}
vision.cpp:56:45: error: no matching function for call to 'std::vector<int>::push_back(<brace-enclosed initializer list>)'
   56 |                                 nx.push_back({add_and(ind1[i],ind1[i+k])}); continue;
      |                                 ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:67,
                 from vision.h:5,
                 from vision.cpp:1:
/usr/include/c++/11/bits/stl_vector.h:1187:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::value_type = int]'
 1187 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1187:35: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type&' {aka 'const int&'}
 1187 |       push_back(const value_type& __x)
      |                 ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/11/bits/stl_vector.h:1203:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = int; _Alloc = std::allocator<int>; std::vector<_Tp, _Alloc>::value_type = int]'
 1203 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1203:30: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::vector<int>::value_type&&' {aka 'int&&'}
 1203 |       push_back(value_type&& __x)
      |                 ~~~~~~~~~~~~~^~~