제출 #1198347

#제출 시각아이디문제언어결과실행 시간메모리
1198347grafffDetecting Molecules (IOI16_molecules)C++20
컴파일 에러
0 ms0 KiB
#ifdef molecules.h #include "molecules.h" #endif #include <algorithm> using namespace std; vector <int> find_subset(int l, int u, vector <int> w){ int n = w.size(), res = 0; map <int, int> mp; set <int> st = {0}; mp[0] = -1; bool flag = false; for(int i = 0; i < n; i++){ for(int j : st){ int x = j + w[i]; if(mp[x] == 0 && w[0] != x){ mp[x] = i; } if(l <= x && x <= u){ flag = true; res = x; break; } } if(flag){ break; } st = {}; for(auto &[x, y] : mp){ st.insert(x); } } vector <int> ans; int x = mp[res]; while(x >= 0){ ans.push_back(x); res -= w[x]; x = mp[res]; } return ans; }

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

molecules.cpp:1:17: warning: extra tokens at end of #ifdef directive
    1 | #ifdef molecules.h
      |                 ^
molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:11:5: error: 'map' was not declared in this scope
   11 |     map <int, int> mp;
      |     ^~~
molecules.cpp:6:1: note: 'std::map' is defined in header '<map>'; did you forget to '#include <map>'?
    5 | #include <algorithm>
  +++ |+#include <map>
    6 | 
molecules.cpp:11:10: error: expected primary-expression before 'int'
   11 |     map <int, int> mp;
      |          ^~~
molecules.cpp:12:5: error: 'set' was not declared in this scope
   12 |     set <int> st = {0};
      |     ^~~
molecules.cpp:6:1: note: 'std::set' is defined in header '<set>'; did you forget to '#include <set>'?
    5 | #include <algorithm>
  +++ |+#include <set>
    6 | 
molecules.cpp:12:10: error: expected primary-expression before 'int'
   12 |     set <int> st = {0};
      |          ^~~
molecules.cpp:13:5: error: 'mp' was not declared in this scope
   13 |     mp[0] = -1;
      |     ^~
molecules.cpp:16:21: error: 'st' was not declared in this scope; did you mean 'std'?
   16 |         for(int j : st){
      |                     ^~
      |                     std
molecules.cpp:30:9: error: 'st' was not declared in this scope; did you mean 'std'?
   30 |         st = {};
      |         ^~
      |         std
molecules.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~