Submission #1333026

#TimeUsernameProblemLanguageResultExecution timeMemory
1333026SmuggingSpunMartian DNA (IOI16_dna)C++20
36 / 100
9 ms488 KiB
#include "dna.h"
#include<bits/stdc++.h>
using namespace std;
int n;
namespace sub1{
  string solve(){
    for(int mask = 1; mask < (1 << n); mask++){
      string s = "";
      for(int i = 0; i < n; i++){
        s += char((mask >> i & 1) + 48);
      }
      if(make_test(s)){
        return s;
      }
    }
    return string(n, '0');
  }
}
namespace sub2{
  string solve(){
    string s = "";
    while(s.size() < n){
      s += '0';
      if(!make_test(s)){
        s.pop_back();
        break;
      }
    }
    if(s.empty() || s.size() == n){
      return string(n, '0' + s.empty());
    }
    bool z = true;
    while(s.size() < n){
      s += char('0' + z);
      if(!make_test(s)){
        s.pop_back();
        s += char('0' + (z = !z));
        if(!make_test(s)){
          s.pop_back();
          break;
        }
      }
    }
    z = true;
    while(s.size() < n){
      s = char('0' + z) + s;
      if(!make_test(s)){
        s[0] = '0' + (z = !z);
      }
    }
    return s;
  }
}
string analyse(int _n, int t){
  n = _n;
  if(t == 31){
    return sub1::solve();
  }
  if(t == 256){
    return sub2::solve();
  }
}                       

Compilation message (stderr)

dna.cpp: In function 'std::string analyse(int, int)':
dna.cpp:62:1: warning: control reaches end of non-void function [-Wreturn-type]
   62 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...