# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
392543 | nicolaalexandra | 고속도로 설계 (CEOI12_highway) | C++14 | 1 ms | 584 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include "office.h"
using namespace std;
int n,i;
/*int GetN(){
int x;
cin>>x;
return x;
}
void Answer(int x, int y, int x2, int y2){
cout<<x<<" "<<y<<"\n"<<x2<<" "<<y2;
}
int isOnLine (int x, int y, int z){
int ans;
cout<<"? "<<x<<" "<<y<<" "<<z<<"\n";
cin>>ans;
return ans;
}*/
int main (){
n = GetN();
int ok = isOnLine(1,2,3);
if (ok){
/// trb sa gasesc doua puncte care nu sunt pe dreapta asta
int sol = 0, sol2 = 0;
for (i=n-1;i>3;i-=2){
int ok2 = isOnLine(3,i,i+1);
if (!ok2){
if (!isOnLine(2,3,i)){
if (!sol)
sol = i;
else {
if (!sol2)
sol2 = i;
}
} else {
if (!sol)
sol = i+1;
else {
if (!sol2)
sol2 = i+1;
}
}
}
if (sol && sol2)
break;
}
Answer(1,2,sol,sol2);
return 0;
}
/// a super nici asta nu e
/*int ok2 = isOnLine(4,5,6);
if (ok2){ /// e acelasi caz ca mai sus
int sol = 0, sol2 = 0;
for (i=n-1;i>=1;i-=2){
if (i == 3 || i == 4 || i == 5 || i == 6)
continue;
int ok3 = isOnLine(4,i,i+1);
if (!ok3){
if (!isOnLine(4,5,i)){
if (!sol)
sol = i;
else {
if (!sol2)
sol2 = i;
}
}
if (!isOnLine(4,5,i+1)){
if (!sol)
sol = i+1;
else {
if (!sol2)
sol2 = i+1;
}}}
if (sol && sol2)
break;
}
Answer(4,5,sol,sol2);
return 0;
}
/// fantastic cazul asta nu e in niciun test
/*if (isOnLine(1,2,4)){
if (isOnLine(1,2,5))
Answer(1,2,3,6);
else Answer(1,2,3,5);
return 0;
}
if (isOnLine(1,2,5)){
if (isOnLine(1,2,4))
Answer(1,2,3,6);
else Answer(1,2,3,4);
return 0;
}
if (isOnLine(1,2,6)){
if (isOnLine(1,2,4))
Answer(1,2,3,5);
else Answer(1,2,3,4);
return 0;
}
if (isOnLine(1,3,4)){
if (isOnLine(1,3,5))
Answer(1,3,2,6);
else Answer(1,3,2,5);
return 0;
}
if (isOnLine(1,3,5)){
if (isOnLine(1,3,4))
Answer(1,3,2,6);
else Answer(1,3,2,4);
return 0;
}
if (isOnLine(1,3,6)){
if (isOnLine(1,3,4))
Answer(1,3,2,5);
else Answer(1,3,2,4);
return 0;
}
if (isOnLine(2,3,4)){
if (isOnLine(2,3,5))
Answer(2,3,1,6);
else Answer(2,3,1,5);
return 0;
}
if (isOnLine(2,3,5)){
if (isOnLine(2,3,4))
Answer(2,3,1,6);
else Answer(2,3,1,4);
return 0;
}
if (isOnLine(2,3,6)){
if (isOnLine(2,3,4))
Answer(2,3,1,5);
else Answer(2,3,1,4);
}*/
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |