Submission #117240

# Submission time Handle Problem Language Result Execution time Memory
117240 2019-06-15T11:53:50 Z JohnTitor Highway design (CEOI12_highway) C++11
0 / 100
4 ms 1280 KB
#include <bits/stdc++.h>
using namespace std;
#define FOR(i, j, k) for(int i=(j); i<=(k); i++)
#define FFOR(i, j, k) for(int i=(j); i<(k); i++)
#define DFOR(i, j, k) for(int i=(j); i>=(k); i--)
#define bug(x) cerr<<#x<<" = "<<(x)<<'\n'
#define pb push_back
#define mp make_pair
#define bit(s, i) (((s)>>(i))&1LL)
#define mask(i) ((1LL<<(i)))
#define builtin_popcount __builtin_popcountll
#define __builtin_popcount __builtin_popcountll
using ll=long long; using ld=long double;
mt19937_64 rng(chrono::high_resolution_clock::now().time_since_epoch().count()); const ld pi=acos(0)*2;
template <typename T> inline void read(T &x){char c; bool nega=0; while((!isdigit(c=getchar()))&&(c!='-')); if(c=='-'){nega=1; c=getchar();} x=c-48; while(isdigit(c=getchar())) x=x*10+c-48; if(nega) x=-x;}
template <typename T> inline void writep(T x){if(x>9) writep(x/10); putchar(x%10+48);}
template <typename T> inline void write(T x){if(x<0){ putchar('-'); x=-x;} writep(x);}
template <typename T> inline void writeln(T x){write(x); putchar('\n');}
#define taskname "Highway"
#ifdef Aria
    void Answer(int a, int b, int c, int d){}
    bool isOnLine(int a, int b, int c){}
    int GetN(){};
#else
#include "office.h"
#endif // Aria
int n;
int a=1;
int x, y, z, t, f;
void answer(int a, int b, int c, int d){
    Answer(a, b, c, d);
    assert(a);
    assert(b);
    assert(c);
    assert(d);
    exit(0);
}
int main(){
//    #ifdef Aria
//        if(fopen(taskname".in", "r"))
//            freopen(taskname".in", "r", stdin);
//    #endif // Aria
//assert(0);
    n=GetN();
    int wah=0;
    for(int b=2, c=3; true; b+=2, c+=2){
        if(isOnLine(a, b, c)){
            x=b;
            continue;
        }
        else{
            int d=c+1;
            f=d;
            if(isOnLine(a, b, d)){
                x=a;
                y=b;
                z=c;
                wah=1;
            }
            else if(isOnLine(a, c, d)){
                x=a;
                y=c;
                z=b;
                wah=2;
            }
            else{
//                if(x){
//                    answer(a, x, b, c);
//
//                }
//                else{
                    t=x;
                    x=b;
                    y=c;
                    z=a;
                    wah=3;
//                }
            }
            break;
        }
    }
    if(wah!=3)
    while(true){
        assert(1);
    }
    for(int p=f, q=f+1; true; p+=2, q+=2){
        assert(q<=n);
        if(isOnLine(x, p, q)) continue;
        else{
            if(isOnLine(x, y, p)) t=q;
            else t=p;
            break;
        }
    }
    if(t==0) t=n;
    answer(x, y, z, t);
}

Compilation message

office.c: In function 'int isOnLine(int, int, int)':
office.c:85:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
     _Fin(0, "Protocol error");
                             ^
office.c:88:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
     _Fin(0, "Protocol error");
                             ^
office.c:92:37: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
     _Fin(false, "Too many questions");
                                     ^
office.c:83:7: warning: unused variable 'i' [-Wunused-variable]
   int i;
       ^
office.c: In function 'void Answer(int, int, int, int)':
office.c:123:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
     _Fin(0, "Protocol error");
                             ^
office.c:128:44: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
       if( (-_Apa[na1]==_N-3) && (na2!=na1) && (nb2!=na1) ||
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
office.c:130:30: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
          _Fin(true, "Correct");
                              ^
office.c:132:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
          _Fin(false, "Wrong answer");
                                    ^
office.c:134:44: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
       if( (-_Apa[na2]==_N-3) && (na1!=na2) && (nb1!=na2) ||
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
office.c:136:30: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
          _Fin(true, "Correct");
                              ^
office.c:138:36: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
          _Fin(false, "Wrong answer");
                                    ^
office.c:140:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
       _Fin(false, "Wrong answer");
                                 ^
office.c:142:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   _Fin(true, "Correct");
                       ^
office.c:120:27: warning: unused variable 'pont' [-Wunused-variable]
   int na1, nb1, na2, nb2, pont;
                           ^~~~
office.c: In function 'void _doInit()':
office.c:33:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &_N);
     ~~~~~^~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Runtime error 2 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Runtime error 3 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Runtime error 3 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
4 Runtime error 2 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
5 Runtime error 2 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
6 Runtime error 2 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
7 Runtime error 2 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
8 Runtime error 2 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
9 Runtime error 2 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
10 Runtime error 2 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
11 Runtime error 2 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
12 Runtime error 3 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
13 Runtime error 2 ms 640 KB Execution killed with signal 11 (could be triggered by violating memory limits)
14 Runtime error 3 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
15 Runtime error 3 ms 640 KB Execution killed with signal 11 (could be triggered by violating memory limits)
16 Runtime error 3 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
17 Runtime error 3 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
18 Runtime error 2 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
19 Runtime error 3 ms 768 KB Execution killed with signal 11 (could be triggered by violating memory limits)
20 Runtime error 3 ms 768 KB Execution killed with signal 11 (could be triggered by violating memory limits)
21 Runtime error 3 ms 896 KB Execution killed with signal 11 (could be triggered by violating memory limits)
22 Runtime error 3 ms 1024 KB Execution killed with signal 11 (could be triggered by violating memory limits)
23 Runtime error 3 ms 1024 KB Execution killed with signal 11 (could be triggered by violating memory limits)
24 Runtime error 3 ms 1152 KB Execution killed with signal 11 (could be triggered by violating memory limits)
25 Runtime error 4 ms 1280 KB Execution killed with signal 11 (could be triggered by violating memory limits)