Submission #305872

# Submission time Handle Problem Language Result Execution time Memory
305872 2020-09-24T04:00:55 Z juggernaut Cave (IOI13_cave) C++14
Compilation error
0 ms 0 KB
#include"cave.h"
#include<bits/stdc++.h>
using namespace std;
int pos[5000],n,tmp[5000],bl[5000],ans[5000],prev;
bool check(int val,int l,int r){
    for(int i=l;i<=r;i++)if(!bl[i])ans[i]^=1;
    int ret=tryCombination(tmp);
    l=prev;
    prev=ret;
    return (l>=i)^(ret>=i);
}
void exploreCave(int N){
    int i=0,l,r,m;
    n=N;
    for(;i<n;i++){
        l=0,r=n-1;
        prev=tryCombination(ans);
        while(l<r){
            m=(l+r)>>1;
            if(check(i,l,m))r=m;
            else l=m+1;
        }
        if(prev>=i)ans[l]^=1;
        pos[l]=i;
        bl[l]=1;
    }
    answer(ans,pos);
}

Compilation message

cave.cpp: In function 'bool check(int, int, int)':
cave.cpp:8:7: error: reference to 'prev' is ambiguous
    8 |     l=prev;
      |       ^~~~
In file included from /usr/include/c++/9/bits/stl_algobase.h:66,
                 from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/ios:40,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/sstream:38,
                 from /usr/include/c++/9/complex:45,
                 from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from cave.cpp:2:
/usr/include/c++/9/bits/stl_iterator_base_funcs.h:224:5: note: candidates are: 'template<class _BidirectionalIterator> _BidirectionalIterator std::prev(_BidirectionalIterator, typename std::iterator_traits<_Iter>::difference_type)'
  224 |     prev(_BidirectionalIterator __x, typename
      |     ^~~~
cave.cpp:4:46: note:                 'int prev'
    4 | int pos[5000],n,tmp[5000],bl[5000],ans[5000],prev;
      |                                              ^~~~
cave.cpp:9:5: error: reference to 'prev' is ambiguous
    9 |     prev=ret;
      |     ^~~~
In file included from /usr/include/c++/9/bits/stl_algobase.h:66,
                 from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/ios:40,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/sstream:38,
                 from /usr/include/c++/9/complex:45,
                 from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from cave.cpp:2:
/usr/include/c++/9/bits/stl_iterator_base_funcs.h:224:5: note: candidates are: 'template<class _BidirectionalIterator> _BidirectionalIterator std::prev(_BidirectionalIterator, typename std::iterator_traits<_Iter>::difference_type)'
  224 |     prev(_BidirectionalIterator __x, typename
      |     ^~~~
cave.cpp:4:46: note:                 'int prev'
    4 | int pos[5000],n,tmp[5000],bl[5000],ans[5000],prev;
      |                                              ^~~~
cave.cpp:10:16: error: 'i' was not declared in this scope
   10 |     return (l>=i)^(ret>=i);
      |                ^
cave.cpp: In function 'void exploreCave(int)':
cave.cpp:17:9: error: reference to 'prev' is ambiguous
   17 |         prev=tryCombination(ans);
      |         ^~~~
In file included from /usr/include/c++/9/bits/stl_algobase.h:66,
                 from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/ios:40,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/sstream:38,
                 from /usr/include/c++/9/complex:45,
                 from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from cave.cpp:2:
/usr/include/c++/9/bits/stl_iterator_base_funcs.h:224:5: note: candidates are: 'template<class _BidirectionalIterator> _BidirectionalIterator std::prev(_BidirectionalIterator, typename std::iterator_traits<_Iter>::difference_type)'
  224 |     prev(_BidirectionalIterator __x, typename
      |     ^~~~
cave.cpp:4:46: note:                 'int prev'
    4 | int pos[5000],n,tmp[5000],bl[5000],ans[5000],prev;
      |                                              ^~~~
cave.cpp:23:12: error: reference to 'prev' is ambiguous
   23 |         if(prev>=i)ans[l]^=1;
      |            ^~~~
In file included from /usr/include/c++/9/bits/stl_algobase.h:66,
                 from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/ios:40,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/sstream:38,
                 from /usr/include/c++/9/complex:45,
                 from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from cave.cpp:2:
/usr/include/c++/9/bits/stl_iterator_base_funcs.h:224:5: note: candidates are: 'template<class _BidirectionalIterator> _BidirectionalIterator std::prev(_BidirectionalIterator, typename std::iterator_traits<_Iter>::difference_type)'
  224 |     prev(_BidirectionalIterator __x, typename
      |     ^~~~
cave.cpp:4:46: note:                 'int prev'
    4 | int pos[5000],n,tmp[5000],bl[5000],ans[5000],prev;
      |                                              ^~~~