Submission #71982

# Submission time Handle Problem Language Result Execution time Memory
71982 2018-08-26T04:28:25 Z (#2175, xdoju, kazel, pps789) Magic Dowsing (FXCUP3_magic) C++17
0 / 100
2 ms 256 KB
#include"dowsing.h"
#include<vector>
using namespace std;

void FindTreasure(int N){
    vector<int> v(N+1);

    for(int i=1;i<N;i++) v[i] = Detect(i,i);
    int dc = 0;
    for(int i=1;i<N;i++) if(v[i]) dc++;
    if(dc==1) v[N] = 1, dc++;

    if(dc==2){
        int x,y;
        for(int i=1;i<=N;i++) if(v[i]){
            x=i; break;
        }
        for(int i=x+1;i<=N;i++) if(v[i]){
            y=i; break;
        }

        if(Detect(x,y)) Report(y,x);
        else Report(x,y);
        return;
    }
    else{
        for(int i=1;i<N;i+=2){
            if(Detect(i,i+1)){
                int other = -1;
                for(int j=1;j<=N;j++) if(j!=i&&j!=i+1) other=j;
                if(Detect(i,other)) Report(i,i);
                else Report(i+1,i+1);
                return;
            }
        }

        Report(N,N);
    }
}

Compilation message

dowsing.cpp: In function 'void FindTreasure(int)':
dowsing.cpp:14:13: warning: 'x' may be used uninitialized in this function [-Wmaybe-uninitialized]
         int x,y;
             ^
dowsing.cpp:22:18: warning: 'y' may be used uninitialized in this function [-Wmaybe-uninitialized]
         if(Detect(x,y)) Report(y,x);
            ~~~~~~^~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 252 KB Correct : C = 4
2 Runtime error 2 ms 256 KB Execution failed because the return code was nonzero
3 Halted 0 ms 0 KB -