# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
228856 | super_j6 | Highway design (CEOI12_highway) | C++14 | 0 ms | 0 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 "office.h"
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <string.h>
using namespace std;
#define endl '\n'
#define ll long long
#define pi pair<int, int>
#define f first
#define s second
int n;
int a, b, c, d;
vector<int> v[2];
bool works(int x, int y, int z){
string s(3, ' ');
s[0] = x + '0', s[1] = y + '0', s[2] = z + '0';
sort(s.begin(), s.end());
return s != "123" && s != "145";
}
bool OnLine(int x, int y, int z){
if(x >= n || y >= n || z >= n || x <= 0 || y <= 0 || z <= 0) while(1) x++;
return isOnLine(x, y, z);
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
n = GetN();
for(a = 1, b = 2; v[0].size() < 1; b += 2){
v[OnLine(a, b, b + 1)].push_back(b);
}
return 0;
if(!v[1].empty()){
b = v[1][0];
c = v[0][0] + OnLine(a, b, v[0][0]);
d = v[0][1] + OnLine(a, b, v[0][1]);
}else{
for(a = 1, d = 0; a < 3 && !d; a++)
for(b = a + 1; b < 6 && !d; b++)
for(c = b + 1; c < 6 && !d; c++){
d = works(a, b, c) && OnLine(a, b, c);
}
if(!d) a = 4, b = 5, c = 6;
a--, b--, c--;
d = 15 - a - b - c;
for(c = 1; c == a || c == b || c == 15 - a - b - d; c++);
d -= c;
if(works(a, b, c) && OnLine(a, b, c)) swap(c, d), d = 0;
if(d && works(a, b, d) && OnLine(a, b, d)) d = 0;
if(!d){
for(d = 6; OnLine(d, d + 1, d + 2); d += 3);
for(; d % 3 < 2 && OnLine(a, b, d); d++);
}
}
Answer(a, b, c, d);
return 0;
}