Submission #117334

#TimeUsernameProblemLanguageResultExecution timeMemory
117334JohnTitorHighway design (CEOI12_highway)C++11
Compilation error
0 ms0 KiB
#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; void answer(int a, int b, int c, int d){ assert(a); assert(b); assert(c); assert(d); assert(a!=b); assert(a!=c); assert(a!=d); assert(b!=c); assert(b!=d); assert(c!=d); Answer(a, b, c, d); exit(0); } void isonline(int a, int b, int c){ assert(a); assert(b); assert(c); assert(a!=b); assert(a!=c); assert(b!=c); return isOnLine(a, b, c); } vector <int> all; int main(){ n=GetN(); FOR(i, 2, n) all.pb(i); bool bad=1; while(true){ int b=all.back(); all.pop_back(); int c=all.back(); all.pop_back(); if(isonline(a, b, c)){ x=b; continue; } else{ int d=all.back(); all.pop_back(); if(isonline(a, b, d)){ x=a; y=b; z=c; } else if(isonline(a, c, d)){ x=a; y=c; z=b; } else{ x=b; y=c; z=a; all.pb(d); } bad=0; break; } } // if(bad) assert(0); while(true){ int p=all.back(); all.pop_back(); int q=all.back(); all.pop_back(); if(isonline(x, p, q)) continue; if(isonline(x, y, p)) t=q; else t=p; break; } answer(x, y, z, t); }

Compilation message (stderr)

highway.cpp: In function 'void isonline(int, int, int)':
highway.cpp:51:28: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return isOnLine(a, b, c);
                            ^
highway.cpp: In function 'int main()':
highway.cpp:63:20: error: could not convert 'isonline(a, b, c)' from 'void' to 'bool'
         if(isonline(a, b, c)){
            ~~~~~~~~^~~~~~~~~
highway.cpp:70:24: error: could not convert 'isonline(a, b, d)' from 'void' to 'bool'
             if(isonline(a, b, d)){
                ~~~~~~~~^~~~~~~~~
highway.cpp:75:29: error: could not convert 'isonline(a, c, d)' from 'void' to 'bool'
             else if(isonline(a, c, d)){
                     ~~~~~~~~^~~~~~~~~
highway.cpp:96:20: error: could not convert 'isonline(x, p, q)' from 'void' to 'bool'
         if(isonline(x, p, q)) continue;
            ~~~~~~~~^~~~~~~~~
highway.cpp:97:20: error: could not convert 'isonline(x, y, p)' from 'void' to 'bool'
         if(isonline(x, y, p)) t=q;
            ~~~~~~~~^~~~~~~~~
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);
     ~~~~~^~~~~~~~~~~