Submission #71993

#TimeUsernameProblemLanguageResultExecution timeMemory
71993 (#118)Magic Dowsing (FXCUP3_magic)C++17
100 / 100
3 ms376 KiB
#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; } int other; for(int i=1;i<=N;i++) if(i!=x&&i!=y) other=i; if(Detect(x,other)) Report(x,y); else Report(y,x); 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 (stderr)

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:24:18: warning: 'other' may be used uninitialized in this function [-Wmaybe-uninitialized]
         if(Detect(x,other)) Report(x,y);
            ~~~~~~^~~~~~~~~
dowsing.cpp:24:35: warning: 'y' may be used uninitialized in this function [-Wmaybe-uninitialized]
         if(Detect(x,other)) Report(x,y);
                             ~~~~~~^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...