Submission #315497

#TimeUsernameProblemLanguageResultExecution timeMemory
315497daniel920712Mouse (info1cup19_mouse)C++14
33.41 / 100
2279 ms131080 KiB
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <algorithm> #include "grader.h" using namespace std; vector < int > how; bool have[500]={0}; map < vector < int > , int > all; int Query(vector < int > tt) { if(all.find(tt)==all.end()) all[tt]=query(tt); return all[tt]; } void solve(int N) { int a,b,c,now,i,j,k,ok; how.clear(); for(i=0;i<N;i++) { how.push_back(i+1); have[i+1]=0; } for(i=0;i<N;i++) { for(j=1;j<=N;j++) { if(!have[j]) { how[i]=j; now=0; for(k=1;k<=N;k++) { if(!have[k]&&k!=j) { how[i+now+1]=k; now++; } } } a=Query(how); if(a==N) return; if(i==0) { ok=1; for(k=i+1;k<N;k++) { swap(how[i],how[k]); b=Query(how); if(b==N) return; swap(how[i],how[k]); if(a>b) continue; else { ok=0; break; } } if(ok) { have[how[i]]=1; break; } } else { swap(how[i],how[0]); b=Query(how); if(b==N) return; swap(how[i],how[0]); if(a-b==2) { have[how[i]]=1; break; } } } } }

Compilation message (stderr)

mouse.cpp: In function 'void solve(int)':
mouse.cpp:18:13: warning: unused variable 'c' [-Wunused-variable]
   18 |     int a,b,c,now,i,j,k,ok;
      |             ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...