Submission #1282817

#TimeUsernameProblemLanguageResultExecution timeMemory
1282817MMihalevSphinx's Riddle (IOI24_sphinx)C++20
Compilation error
0 ms0 KiB
#include<iostream> #include<algorithm> #include<vector> #include<cmath> #include "sphinx.h" using namespace std; vector<int>ans,exp; int n; bool check(vector<int>ids,int col) { int cN=0; for(int i=0;i<ids[0];i++) { cN++; exp[i]=n; } for(int i=ids[0];i<=ids.back();i+=2) { exp[i]=-1; exp[i+1]=col; } for(int i=ids.back()+1;i<N;i++) { cN++; exp[i]=n; } int cnt=perform_experiment(exp); if(cnt<cN+ids.back()-ids[0]+1)return 1; return 0; } void rec(vector<int>ids,int col) { if(ids.size()==1) { ans[ids[0]]=col; return; } int mid=ids.size()/2; vector<int>ids1,ids2; for(int i=0;i<ids.size();i++) { if(i<=mid)ids1.push_back(ids[i]); else ids2.push_back(ids[i]); } if(check(ids1,col))rec(ids1,col); else rec(ids2,col); } vector<int> find_colours(int N, std::vector<int> X, std::vector<int> Y) { n=N; exp.resize(n); ans.resize(n); for(int i=0;i<n;i++) { ans[i]=-1; } vector<int>idseven,idsodd; for(int i=0;i<n;i++) { if(i%2==0)idseven.push_back(i); else idsodd.push_back(i); } for(int col=0;col<n;col++) { bool full=1; for(int id:idseven) { if(ans[id]==-1)full=0; } if(!full) { if(check(idseven,col))rec(idseven,col); } full=1; for(int id:idsodd) { if(ans[id]==-1)full=0; } if(!full) { if(check(idsodd,col))rec(idsodd,col); } } return ans; }

Compilation message (stderr)

sphinx.cpp:7:16: error: 'std::vector<int> exp' redeclared as different kind of entity
    7 | vector<int>ans,exp;
      |                ^~~
In file included from /usr/include/features.h:502,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h:679,
                 from /usr/include/c++/13/bits/requires_hosted.h:31,
                 from /usr/include/c++/13/iostream:38,
                 from sphinx.cpp:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:95:1: note: previous declaration 'double exp(double)'
   95 | __MATHCALL_VEC (exp,, (_Mdouble_ __x));
      | ^~~~~~~~~~~~~~
sphinx.cpp: In function 'bool check(std::vector<int>, int)':
sphinx.cpp:15:12: error: invalid types '<unresolved overloaded function type>[int]' for array subscript
   15 |         exp[i]=n;
      |            ^
sphinx.cpp:19:12: error: invalid types '<unresolved overloaded function type>[int]' for array subscript
   19 |         exp[i]=-1;
      |            ^
sphinx.cpp:20:12: error: invalid types '<unresolved overloaded function type>[int]' for array subscript
   20 |         exp[i+1]=col;
      |            ^
sphinx.cpp:22:30: error: 'N' was not declared in this scope
   22 |     for(int i=ids.back()+1;i<N;i++)
      |                              ^
sphinx.cpp:25:12: error: invalid types '<unresolved overloaded function type>[int]' for array subscript
   25 |         exp[i]=n;
      |            ^
sphinx.cpp:28:31: error: cannot resolve overloaded function 'exp' based on conversion to type 'std::vector<int>'
   28 |     int cnt=perform_experiment(exp);
      |             ~~~~~~~~~~~~~~~~~~^~~~~
sphinx.cpp: In function 'std::vector<int> find_colours(int, std::vector<int>, std::vector<int>)':
sphinx.cpp:56:9: error: overloaded function with no contextual type information
   56 |     exp.resize(n);
      |         ^~~~~~