Submission #831616

#TimeUsernameProblemLanguageResultExecution timeMemory
831616KemalKMartian DNA (IOI16_dna)C++17
11 / 100
20 ms476 KiB
#include "dna.h" #include <bits/stdc++.h> #include <cstdlib> using namespace std; std::string analyse(int n, int t) { string ans = ""; if (n <= 5){ bool ok = false; for (int mask = 0; mask < (1<<n) - 1; mask++){ string cur = ""; for (int j = 0; j < n; j++){ if (mask>>j&1){ cur += "1"; } else{ cur += "0"; } } ok = make_test(cur); if (ok){ return cur; } } if (!ok){ for(int i = 0; i < n; i++){ ans += "1"; } return ans; } } bool left = true; bool right = true; while(ans.size() != n){ if (ans.size() == 0){ string cur = ans + "0"; string cur2 = ans + "1"; bool ok = make_test(cur); bool ok2 = make_test(cur2); if (!ok){ for (int i = 0; i < n; i++){ ans += "1"; } return ans; } else if (!ok2){ for (int i = 0; i < n; i++){ ans += "0"; } return ans; } ans += "0"; } else{ cout << "second " << "\n"; if (left){ string cur = ans + "1"; string cur2 = ans + "0"; bool ok = make_test(cur); bool ok2 = make_test(cur2); if (!ok and !ok2){ left = false; } else if (ok){ ans += "1"; } else{ ans += "0"; } } else{ string cur = "0" + ans; string cur2 = "1" + ans; bool ok = make_test(cur); bool ok2 = make_test(cur2); if (ok){ ans = "0" + ans; } else{ ans = "1" + ans; } } } } return ans; }

Compilation message (stderr)

dna.cpp: In function 'std::string analyse(int, int)':
dna.cpp:34:22: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   34 |     while(ans.size() != n){
      |           ~~~~~~~~~~~^~~~
dna.cpp:75:22: warning: unused variable 'ok2' [-Wunused-variable]
   75 |                 bool ok2 = make_test(cur2);
      |                      ^~~
dna.cpp:33:10: warning: unused variable 'right' [-Wunused-variable]
   33 |     bool right = true;
      |          ^~~~~
grader.cpp: In function 'bool make_test(std::string)':
grader.cpp:14:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |  for (int i = 0; i < p.size(); i++) {
      |                  ~~^~~~~~~~~~
grader.cpp:23:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |  for (int i = 1; i <= ss.size(); i++) {
      |                  ~~^~~~~~~~~~~~
grader.cpp:28:13: warning: comparison of integer expressions of different signedness: '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |   if (pr[i] == p.size()) {
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...