제출 #85931

#제출 시각아이디문제언어결과실행 시간메모리
85931shoemakerjoAliens (IOI07_aliens)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; int N, x0, y0; bool isin(int xx, int yy) { if (0 >= xx || xx > N) return false; if (yy <= 0 || yy > N) return false; cout << "examine " << xx << " " << yy << endl; string ans; cin >> ans; return ans == "true"; } int main() { cin >> N >> x0 >> y0; //do left and right //need to find last guy that is a hit or something //can binary search to the edge of this int nx, ny, lx, ly; //next x, next y, last x, last y int lo = x0; int hi = N; while (lo < hi) { int mid = (lo+hi+1)/2; if (isin(mid, y0)) { lo = mid; } else { hi = mid-1; } } nx = lo; hi = x0; lo = 1; while (lo < hi) { int mid = (lo+hi)/2; if (isin(mid, y0)) { hi = mid; } else { lo = mid+1; } } lx = lo; lo = y0; hi = N; while (lo < hi) { int mid = (lo+hi+1)/2; if (isin(x0, mid)) { lo = mid; } else { hi = mid-1; } } ny = lo; hi = y0; lo = 1; while (lo < hi) { int mid = (lo+hi)/2; if (isin(x0, mid)) { hi = mid; } else { lo = mid+1; } } //now we have all the guys int xans, yans; int mcur = (lx+nx)/2; if (!isin(mcur, y0)) { int m = (nx-lx+1)/3; while (isin(nx + m*2, y0)) { nx += m*2; } while (isin(lx - m*2, y0)) { lx -= m*2; } } else { int m = (nx-lx+1); while (isin(nx + m*2, y0)) { nx += m*2; } while (isin(lx - m*2, y0)) { lx -= m*2; } } xans = (nx + lx)/2; mcur = (ly + ny)/2; if (!isin(x0, mcur)) { int m = (ny - ly + 1)/3; while (isin(x0, ny+m*2)) { ny += m*2; } while (isin(x0, ly - m*2)) { ly -= m*2; } } else { int m = (ny - ly + 1); while (isin(x0, ny+m*2)) { ny += m*2; } while (isin(x0, ly - m*2)) { ly -= m*2; } } yans = (ly + ny)/2; cout << "solution " << xans << " " << yans << endl; }

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

aliens.cpp:5:12: error: 'int y0' redeclared as different kind of symbol
 int N, x0, y0;
            ^~
In file included from /usr/include/features.h:367:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:533,
                 from /usr/include/c++/7/cassert:43,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:33,
                 from aliens.cpp:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:250:1: note: previous declaration 'double y0(double)'
 __MATHCALL (y0,, (_Mdouble_));
 ^
aliens.cpp: In function 'int main()':
aliens.cpp:19:17: error: no match for 'operator>>' (operand types are 'std::basic_istream<char>::__istream_type {aka std::basic_istream<char>}' and 'double(double) throw ()')
  cin >> N >> x0 >> y0;
  ~~~~~~~~~~~~~~~^~~~~
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/istream:120:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(__istream_type& (*__pf)(__istream_type&))
       ^~~~~~~~
/usr/include/c++/7/istream:120:7: note:   conversion of argument 1 would be ill-formed:
aliens.cpp:19:20: error: invalid conversion from 'double (*)(double) throw ()' to 'std::basic_istream<char>::__istream_type& (*)(std::basic_istream<char>::__istream_type&) {aka std::basic_istream<char>& (*)(std::basic_istream<char>&)}' [-fpermissive]
  cin >> N >> x0 >> y0;
                    ^~
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/istream:124:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<char>] <near match>
       operator>>(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/usr/include/c++/7/istream:124:7: note:   conversion of argument 1 would be ill-formed:
aliens.cpp:19:20: error: invalid conversion from 'double (*)(double) throw ()' to 'std::basic_istream<char>::__ios_type& (*)(std::basic_istream<char>::__ios_type&) {aka std::basic_ios<char>& (*)(std::basic_ios<char>&)}' [-fpermissive]
  cin >> N >> x0 >> y0;
                    ^~
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/istream:131:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(ios_base& (*__pf)(ios_base&))
       ^~~~~~~~
/usr/include/c++/7/istream:131:7: note:   conversion of argument 1 would be ill-formed:
aliens.cpp:19:20: error: invalid conversion from 'double (*)(double) throw ()' to 'std::ios_base& (*)(std::ios_base&)' [-fpermissive]
  cin >> N >> x0 >> y0;
                    ^~
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/istream:168:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(bool& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:168:7: note:   conversion of argument 1 would be ill-formed:
aliens.cpp:19:20: warning: the address of 'double y0(double)' will never be NULL [-Waddress]
  cin >> N >> x0 >> y0;
                    ^~
aliens.cpp:19:20: error: cannot bind non-const lvalue reference of type 'bool&' to an rvalue of type 'bool'
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/istream:172:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>] <near match>
       operator>>(short& __n);
       ^~~~~~~~
/usr/include/c++/7/istream:172:7: note:   conversion of argument 1 would be ill-formed:
aliens.cpp:19:20: error: invalid conversion from 'double (*)(double) throw ()' to 'short int' [-fpermissive]
  cin >> N >> x0 >> y0;
                    ^~
aliens.cpp:19:20: error: cannot bind rvalue '(short int)y0' to 'short int&'
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/istream:175:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(unsigned short& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:175:7: note:   conversion of argument 1 would be ill-formed:
aliens.cpp:19:20: error: invalid conversion from 'double (*)(double) throw ()' to 'short unsigned int' [-fpermissive]
  cin >> N >> x0 >> y0;
                    ^~
aliens.cpp:19:20: error: cannot bind rvalue '(short unsigned int)y0' to 'short unsigned int&'
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/istream:179:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>] <near match>
       operator>>(int& __n);
       ^~~~~~~~
/usr/include/c++/7/istream:179:7: note:   conversion of argument 1 would be ill-formed:
aliens.cpp:19:20: error: invalid conversion from 'double (*)(double) throw ()' to 'int' [-fpermissive]
  cin >> N >> x0 >> y0;
                    ^~
aliens.cpp:19:20: error: cannot bind rvalue '(int)y0' to 'int&'
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/istream:182:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(unsigned int& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:182:7: note:   conversion of argument 1 would be ill-formed:
aliens.cpp:19:20: error: invalid conversion from 'double (*)(double) throw ()' to 'unsigned int' [-fpermissive]
  cin >> N >> x0 >> y0;
                    ^~
aliens.cpp:19:20: error: cannot bind rvalue '(unsigned int)y0' to 'unsigned int&'
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/istream:186:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(long& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:186:7: note:   conversion of argument 1 would be ill-formed:
aliens.cpp:19:20: error: invalid conversion from 'double (*)(double) throw ()' to 'long int' [-fpermissive]
  cin >> N >> x0 >> y0;
                    ^~
aliens.cpp:19:20: error: cannot bind rvalue '(long int)y0' to 'long int&'
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/istream:190:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(unsigned long& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:190:7: note:   conversion of argument 1 would be ill-formed:
aliens.cpp:19:20: error: invalid conversion from 'double (*)(double) throw ()' to 'long unsigned int' [-fpermissive]
  cin >> N >> x0 >> y0;
                    ^~
aliens.cpp:19:20: error: cannot bind rvalue '(long unsigned int)y0' to 'long unsigned int&'
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/istream:195:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(long long& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:195:7: note:   conversion of argument 1 would be ill-formed:
aliens.cpp:19:20: error: invalid conversion from 'double (*)(double) throw ()' to 'long long int' [-fpermissive]
  cin >> N >> x0 >> y0;
                    ^~
aliens.cpp:19:20: error: cannot bind rvalue '(long long int)y0' to 'long long int&'
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/istream:199:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(unsigned long long& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:199:7: note:   conversion of argument 1 would be ill-formed:
aliens.cpp:19:20: error: invalid conversion from 'double (*)(double) throw ()' to 'long long unsigned int' [-fpermissive]
  cin >> N >> x0 >> y0;
                    ^~
aliens.cpp:19:20: error: cannot bind rvalue '(long long unsigned int)y0' to 'long long unsigned int&'
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/istream:235:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match>
       operator>>(void*& __p)
       ^~~~~~~~
/usr/include/c++/7/istream:235:7: note:   conversion of argument 1 would be ill-formed:
aliens.cpp:19:20: error: invalid conversion from 'double (*)(double) throw ()' to 'void*' [-fpermissive]
  cin >> N >> x0 >> y0;
                    ^~
aliens.cpp:19:20: error: cannot bind rvalue '(void*)y0' to 'void*&'
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/istream:214:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(float& __f)
       ^~~~~~~~
/usr/include/c++/7/istream:214:7: note:   no known conversion for argument 1 from 'double(double) throw ()' to 'float&'
/usr/include/c++/7/istream:218:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(double& __f)
       ^~~~~~~~
/usr/include/c++/7/istream:218:7: note:   no known conversion for argument 1 from 'double(double) throw ()' to 'double&'
/usr/include/c++/7/istream:222:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(long double& __f)
       ^~~~~~~~
/usr/include/c++/7/istream:222:7: note:   no known conversion for argument 1 from 'double(double) throw ()' to 'long double&'
/usr/include/c++/7/istream:259:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]
       operator>>(__streambuf_type* __sb);
       ^~~~~~~~
/usr/include/c++/7/istream:259:7: note:   no known conversion for argument 1 from 'double(double) throw ()' to 'std::basic_istream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}'
In file included from /usr/include/c++/7/string:53:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/bits/basic_string.tcc:1465:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator>>(basic_istream<_CharT, _Traits>& __in,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.tcc:1465:5: note:   template argument deduction/substitution failed:
aliens.cpp:19:20: note:   mismatched types 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' and 'double(double) throw ()'
  cin >> N >> x0 >> y0;
                    ^~
In file included from /usr/include/c++/7/istream:991:0,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/bits/istream.tcc:963:5: note: candidate: template<class _CharT2, class _Traits2> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT2*)
     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
     ^~~~~~~~
/usr/include/c++/7/bits/istream.tcc:963:5: note:   template argument deduction/substitution failed:
aliens.cpp:19:20: note:   deduced conflicting types for parameter '_CharT2' ('char' and 'double(double) throw ()')
  cin >> N >> x0 >> y0;
                    ^~
In file included from /usr/include/c++/7/istream:991:0,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from aliens.cpp:1:
/usr/include/c++/7/bits/istream.tcc:931:5: note: candidate: template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT&)
     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
     ^~~~~~~~
/usr/include/c++/7/bits/istream.tcc:931:5: note:   template argument deduction/substitution failed:
aliens.cpp:19:20: note: