Submission #1162386

#TimeUsernameProblemLanguageResultExecution timeMemory
1162386i271828Unscrambling a Messy Bug (IOI16_messy)C++20
0 / 100
1 ms584 KiB
#include <bits/stdc++.h> #include "messy.h" using namespace std; int ans[128]; /* void add_element(string x){ cout<<"A"; for (int i=0;i<4;i++) cout<<x[i]; cout<<'\n'; } void compile_set(){} bool check_element(string x){ cout<<"C"; for (int i=0;i<4;i++) cout<<x[i]; cout<<'\n'; bool v; cin>>v; return v; } /**/ void add(int s,int e,int fs,int fe){ if (s==e) return; bitset<128> x=0; for (int i=fs;i<=fe;i++) x[i]=1; int m=(s+e)>>1; for (int i=s;i<=m;i++){ if (i>s) x[i-1]=0; x[i]=1; string xs; for (int i=0;i<128;i++) xs.push_back(x[i]+'0'); add_element(xs); } add(s,m,m+1,e); add(m+1,e,s,m); } void find(int s,int e,bitset<128>& values, bitset<128>& flag){ if (s==e){ for (int i=0;i<128;i++){ if (values[i]) ans[i]=s; } return; } bitset<128> x; bitset<128> left=0; bitset<128> right=0; for (int i=0;i<128;i++){ if (values[i]){ x=flag; x[i]=1; string xs; for (int i=0;i<128;i++) xs.push_back(x[i]+'0'); if (check_element(xs)){ left[i]=1; }else{ right[i]=1; } } } int m=(s+e)>>1; find(s,m,left,right); find(m+1,e,right,left); } vector<int> restore_permutation(int N, int w, int r){ add(0,N-1,1,0); compile_set(); bitset<128> values=0; for (int i=0;i<N;i++) values[i]=1; bitset<128> flag=0; find(0,N-1,values,flag); vector<int> result={}; for (int i=0;i<N;i++) result.push_back(ans[i]); }

Compilation message (stderr)

messy.cpp: In function 'std::vector<int> restore_permutation(int, int, int)':
messy.cpp:77:1: warning: no return statement in function returning non-void [-Wreturn-type]
   77 | }
      | ^
messy.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
messy_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...