# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
392547 | nicolaalexandra | Highway design (CEOI12_highway) | C++14 | 1 ms | 584 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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=4;i<=n;i+=2){
if (i == n){
if (!isOnLine(1,2,i)){
if (!sol)
sol = i;
else {
if (!sol2)
sol2 = i;
}
}
continue;
}
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;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |