# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
597145 | JJAnawat | Aliens (IOI07_aliens) | C++14 | 컴파일 에러 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
using namespace std;
long long n,x0,y0;
bool query(long long qx,long long qy){
cout << "examine " << qx << " " << qy << "\n";
string s;
cin >> s;
return s=="true";
}
bool askx(long long x,long long y,long long pl){
if(x+pl>n||x+pl<=0)
return 0;
return query(x+pl,y);
}
bool asky(long long x,long long y,long long pl){
if(y+pl>n||y+pl<=0)
return 0;
return query(x,y+pl);
}
void sol(int sx,int sy){
cout << "solution " << sx << " " << sy << "\n";
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
long long lu,lr,ld,ll;
cin >> n >> x0 >> y0;
bool chk=1;
long long l=x0,r=x0;
//up
for(int i=0;i<=30;i++){
r=x0+(1<<i);
r=min(r,n);
chk=query(r,y0);
if(!chk||r==n)
break;
l=r;
}
if(r==n&&chk)
lu=n;
else{
while(l<r){
long long mid=r-((r-l)>>2);
chk=query(mid,y0);
if(chk)
l=mid;
else
r=mid-1;
}
lu=l;
}
//right
l=y0;
for(int i=0;i<=30;i++){
r=y0+(1<<i);
r=min(r,n);
chk=query(x0,r);
if(!chk||r==n)
break;
l=r;
}
if(r==n&&chk)
lr=n;
else{
while(l<r){
long long mid=r-((r-l)>>2);
chk=query(x0,mid);
if(chk)
l=mid;
else
r=mid-1;
}
lr=l;
}
//down
l=x0;
long long one=1;
for(int i=0;i<=30;i++){
r=x0-(1<<i);
r=max(r,one);
chk=query(r,y0);
if(!chk||r==1)
break;
l=r;
}
if(r==1&&chk)
ld=1;
else{
while(l>r){
long long mid=l+((r-l)>>2);
chk=query(mid,y0);
if(chk)
r=mid;
else
l=mid-1;
}
ld=l;
}
ll=lr-(lu-ld);
long long m=lu-ld+1;
long long mx=ld+m/2;
long long my=ll+m/2;
lu=ld=mx; ll=lr=my;
for(int i=2;i>=1;i--){
if(askx(mx,my,2*m*i)){
lu+=2*m*i;
break;
}
}
for(int i=2;i>=1;i--){
if(askx(mx,my,-2*m*i)){
ld-=2*m*i;
break;
}
}
for(int i=2;i>=1;i--){
if(asky(mx,my,2*m*i)){
lr+=2*m*i;
break;
}
}
ll=ll-(lr-ll);
cout << "solution " << (lu+ld)/2 << " " << (ll+lr)/2 << "\n";
}
컴파일 시 표준 에러 (stderr) 메시지
aliens.cpp:5:16: error: 'long long int y0' redeclared as different kind of entity 5 | long long n,x0,y0; | ^~ In file included from /usr/include/features.h:461, from /usr/include/x86_64-linux-gnu/c++/10/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/c++config.h:518, from /usr/include/c++/10/cassert:43, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:33, from aliens.cpp:1: /usr/include/x86_64-linux-gnu/bits/mathcalls.h:220:1: note: previous declaration 'double y0(double)' 220 | __MATHCALL (y0,, (_Mdouble_)); | ^~~~~~~~~~ aliens.cpp: In function 'int main()': aliens.cpp:35:20: error: no match for 'operator>>' (operand types are 'std::basic_istream<char>::__istream_type' {aka 'std::basic_istream<char>'} and 'double(double) throw ()' {aka 'double(double)'}) 35 | cin >> n >> x0 >> y0; | ~~~~~~~~~~~~~~ ^~ ~~ | | | | | double(double) throw () {aka double(double)} | std::basic_istream<char>::__istream_type {aka std::basic_istream<char>} In file included from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from aliens.cpp:1: /usr/include/c++/10/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) 120 | operator>>(__istream_type& (*__pf)(__istream_type&)) | ^~~~~~~~ /usr/include/c++/10/istream:120:7: note: conversion of argument 1 would be ill-formed: aliens.cpp:35:23: error: invalid conversion from 'double (*)(double) throw ()' {aka 'double (*)(double)'} to 'std::basic_istream<char>::__istream_type& (*)(std::basic_istream<char>::__istream_type&)' {aka 'std::basic_istream<char>& (*)(std::basic_istream<char>&)'} [-fpermissive] 35 | cin >> n >> x0 >> y0; | ^~ | | | double (*)(double) throw () {aka double (*)(double)} In file included from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from aliens.cpp:1: /usr/include/c++/10/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) 124 | operator>>(__ios_type& (*__pf)(__ios_type&)) | ^~~~~~~~ /usr/include/c++/10/istream:124:7: note: conversion of argument 1 would be ill-formed: aliens.cpp:35:23: error: invalid conversion from 'double (*)(double) throw ()' {aka 'double (*)(double)'} to 'std::basic_istream<char>::__ios_type& (*)(std::basic_istream<char>::__ios_type&)' {aka 'std::basic_ios<char>& (*)(std::basic_ios<char>&)'} [-fpermissive] 35 | cin >> n >> x0 >> y0; | ^~ | | | double (*)(double) throw () {aka double (*)(double)} In file included from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from aliens.cpp:1: /usr/include/c++/10/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) 131 | operator>>(ios_base& (*__pf)(ios_base&)) | ^~~~~~~~ /usr/include/c++/10/istream:131:7: note: conversion of argument 1 would be ill-formed: aliens.cpp:35:23: error: invalid conversion from 'double (*)(double) throw ()' {aka 'double (*)(double)'} to 'std::ios_base& (*)(std::ios_base&)' [-fpermissive] 35 | cin >> n >> x0 >> y0; | ^~ | | | double (*)(double) throw () {aka double (*)(double)} In file included from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from aliens.cpp:1: /usr/include/c++/10/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) 168 | operator>>(bool& __n) | ^~~~~~~~ /usr/include/c++/10/istream:168:7: note: conversion of argument 1 would be ill-formed: aliens.cpp:35:23: warning: the address of 'double y0(double)' will never be NULL [-Waddress] 35 | cin >> n >> x0 >> y0; | ^~ aliens.cpp:35:23: error: cannot bind non-const lvalue reference of type 'bool&' to an rvalue of type 'bool' In file included from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from aliens.cpp:1: /usr/include/c++/10/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) 172 | operator>>(short& __n); | ^~~~~~~~ /usr/include/c++/10/istream:172:7: note: conversion of argument 1 would be ill-formed: aliens.cpp:35:23: error: invalid conversion from 'double (*)(double) throw ()' {aka 'double (*)(double)'} to 'short int' [-fpermissive] 35 | cin >> n >> x0 >> y0; | ^~ | | | double (*)(double) throw () {aka double (*)(double)} aliens.cpp:35:23: error: cannot bind rvalue '(short int)y0' to 'short int&' In file included from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from aliens.cpp:1: /usr/include/c++/10/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) 175 | operator>>(unsigned short& __n) | ^~~~~~~~ /usr/include/c++/10/istream:175:7: note: conversion of argument 1 would be ill-formed: aliens.cpp:35:23: error: invalid conversion from 'double (*)(double) throw ()' {aka 'double (*)(double)'} to 'short unsigned int' [-fpermissive] 35 | cin >> n >> x0 >> y0; | ^~ | | | double (*)(double) throw () {aka double (*)(double)} aliens.cpp:35:23: error: cannot bind rvalue '(short unsigned int)y0' to 'short unsigned int&' In file included from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from aliens.cpp:1: /usr/include/c++/10/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) 179 | operator>>(int& __n); | ^~~~~~~~ /usr/include/c++/10/istream:179:7: note: conversion of argument 1 would be ill-formed: aliens.cpp:35:23: error: invalid conversion from 'double (*)(double) throw ()' {aka 'double (*)(double)'} to 'int' [-fpermissive] 35 | cin >> n >> x0 >> y0; | ^~ | | | double (*)(double) throw () {aka double (*)(double)} aliens.cpp:35:23: error: cannot bind rvalue '(int)y0' to 'int&' In file included from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from aliens.cpp:1: /usr/include/c++/10/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) 182 | operator>>(unsigned int& __n) | ^~~~~~~~ /usr/include/c++/10/istream:182:7: note: conversion of argument 1 would be ill-formed: aliens.cpp:35:23: error: invalid conversion from 'double (*)(double) throw ()' {aka 'double (*)(double)'} to 'unsigned int' [-fpermissive] 35 | cin >> n >> x0 >> y0; | ^~ | | | double (*)(double) throw () {aka double (*)(double)} aliens.cpp:35:23: error: cannot bind rvalue '(unsigned int)y0' to 'unsigned int&' In file included from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from aliens.cpp:1: /usr/include/c++/10/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) 186 | operator>>(long& __n) | ^~~~~~~~ /usr/include/c++/10/istream:186:7: note: conversion of argument 1 would be ill-formed: aliens.cpp:35:23: error: invalid conversion from 'double (*)(double) throw ()' {aka 'double (*)(double)'} to 'long int' [-fpermissive] 35 | cin >> n >> x0 >> y0; | ^~ | | | double (*)(double) throw () {aka double (*)(double)} aliens.cpp:35:23: error: cannot bind rvalue '(long int)y0' to 'long int&' In file included from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from aliens.cpp:1: /usr/include/c++/10/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) 190 | operator>>(unsigned long& __n) | ^~~~~~~~ /usr/include/c++/10/istream:190:7: note: conversion of argument 1 would be ill-formed: aliens.cpp:35:23: error: invalid conversion from 'double (*)(double) throw ()' {aka 'double (*)(double)'} to 'long unsigned int' [-fpermissive] 35 | cin >> n >> x0 >> y0; | ^~ | | | double (*)(double) throw () {aka double (*)(double)} aliens.cpp:35:23: error: cannot bind rvalue '(long unsigned int)y0' to 'long unsigned int&' In file included from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from aliens.cpp:1: /usr/include/c++/10/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) 195 | operator>>(long long& __n) | ^~~~~~~~ /usr/include/c++/10/istream:195:7: note: conversion of argument 1 would be ill-formed: aliens.cpp:35:23: error: invalid conversion from 'double (*)(double) throw ()' {aka 'double (*)(double)'} to 'long long int' [-fpermissive] 35 | cin >> n >> x0 >> y0; | ^~ | | | double (*)(double) throw () {aka double (*)(double)} aliens.cpp:35:23: error: cannot bind rvalue '(long long int)y0' to 'long long int&' In file included from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from aliens.cpp:1: /usr/include/c++/10/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) 199 | operator>>(unsigned long long& __n) | ^~~~~~~~ /usr/include/c++/10/istream:199:7: note: conversion of argument 1 would be ill-formed: aliens.cpp:35:23: error: invalid conversion from 'double (*)(double) throw ()' {aka 'double (*)(double)'} to 'long long unsigned int' [-fpermissive] 35 | cin >> n >> x0 >> y0; | ^~ | | | double (*)(double) throw () {aka double (*)(double)} aliens.cpp:35:23: error: cannot bind rvalue '(long long unsigned int)y0' to 'long long unsigned int&' In file included from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from aliens.cpp:1: /usr/include/c++/10/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) 235 | operator>>(void*& __p) | ^~~~~~~~ /usr/include/c++/10/istream:235:7: note: conversion of argument 1 would be ill-formed: aliens.cpp:35:23: error: invalid conversion from 'double (*)(double) throw ()' {aka 'double (*)(double)'} to 'void*' [-fpermissive] 35 | cin >> n >> x0 >> y0; | ^~ | | | double (*)(double) throw () {aka double (*)(double)} aliens.cpp:35:23: error: cannot bind rvalue '(void*)y0' to 'void*&' In file included from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from aliens.cpp:1: /usr/include/c++/10/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>]' 214 | operator>>(float& __f) | ^~~~~~~~ /usr/include/c++/10/istream:214:25: note: no known conversion for argument 1 from 'double(double) throw ()' {aka 'double(double)'} to 'float&' 214 | operator>>(float& __f) | ~~~~~~~^~~ /usr/include/c++/10/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>]' 218 | operator>>(double& __f) | ^~~~~~~~ /usr/include/c++/10/istream:218:26: note: no known conversion for argument 1 from 'double(double) throw ()' {aka 'double(double)'} to 'double&' 218 | operator>>(double& __f) | ~~~~~~~~^~~ /usr/include/c++/10/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>]' 222 | operator>>(long double& __f) | ^~~~~~~~ /usr/include/c++/10/istream:222:31: note: no known conversion for argument 1 from 'double(double) throw ()' {aka 'double(double)'} to 'long double&' 222 | operator>>(long double& __f) | ~~~~~~~~~~~~~^~~ /usr/include/c++/10/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>]' 259 | operator>>(__streambuf_type* __sb); | ^~~~~~~~ /usr/include/c++/10/istream:259:36: note: no known conversion for argument 1 from 'double(double) throw ()' {aka 'double(double)'} to 'std::basic_istream<