Submission #21894

# Submission time Handle Problem Language Result Execution time Memory
21894 2017-04-26T16:45:39 Z sampriti Unscrambling a Messy Bug (IOI16_messy) C++14
38 / 100
3 ms 384 KB
#include "messy.h"

#include <vector>
#include <string>
#include <algorithm>

using namespace std;

std::vector<int> restore_permutation(int N, int w, int r) {
  srand(534553);
  vector<string> els;
  for(int i = 0; i < N; i++) {
    string str = "";
    for(int j = 0; j < N; j++) {
      if(j <= i) str += '1';
      else str += '0';
    }
    add_element(str);
    els.push_back(str);
  }
  compile_set();

  vector<int> P(N, -1);
  for(int i = 0; i < N; i++) {
    string curr = "";
    for(int j = 0; j < N; j++) {
      if(P[j] != -1) curr += '1';
      else curr += '0';
    }
    vector<int> indices;
    for(int j = 0; j < N; j++) {
      if(curr[j] == '0') indices.push_back(j);
    }
    random_shuffle(indices.begin(), indices.end());
    for(int ind = 0; ind < indices.size(); ind++) {
      int j = indices[ind];
      curr[j] = '1';
      if(ind == indices.size() - 1) {
        P[j] = i;
        break;
      }
      if(check_element(curr)) {
        P[j] = i;
        break;
      }
      curr[j] = '0';
    }
  }
  return P;
}

Compilation message

messy.cpp: In function 'std::vector<int> restore_permutation(int, int, int)':
messy.cpp:35:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int ind = 0; ind < indices.size(); ind++) {
                      ~~~~^~~~~~~~~~~~~~~~
messy.cpp:38:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       if(ind == indices.size() - 1) {
          ~~~~^~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB n = 8
2 Correct 2 ms 256 KB n = 8
3 Correct 2 ms 256 KB n = 8
4 Correct 2 ms 256 KB n = 8
5 Correct 2 ms 256 KB n = 8
6 Correct 2 ms 256 KB n = 8
7 Correct 2 ms 384 KB n = 8
8 Correct 2 ms 384 KB n = 8
9 Correct 2 ms 384 KB n = 8
10 Correct 2 ms 256 KB n = 8
11 Correct 2 ms 384 KB n = 8
12 Correct 2 ms 256 KB n = 8
13 Correct 2 ms 256 KB n = 8
14 Correct 2 ms 384 KB n = 8
15 Correct 2 ms 256 KB n = 8
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB n = 32
2 Correct 2 ms 384 KB n = 32
3 Correct 2 ms 256 KB n = 32
4 Correct 2 ms 256 KB n = 32
5 Correct 2 ms 384 KB n = 32
6 Correct 2 ms 384 KB n = 32
7 Correct 2 ms 384 KB n = 32
8 Correct 2 ms 256 KB n = 32
9 Correct 2 ms 256 KB n = 32
10 Correct 2 ms 384 KB n = 32
11 Correct 2 ms 256 KB n = 32
12 Correct 2 ms 256 KB n = 32
13 Correct 2 ms 256 KB n = 32
14 Correct 2 ms 256 KB n = 32
15 Correct 2 ms 256 KB n = 32
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB n = 32
2 Correct 2 ms 384 KB n = 32
3 Correct 2 ms 256 KB n = 32
4 Correct 2 ms 256 KB n = 32
5 Correct 2 ms 256 KB n = 32
6 Correct 2 ms 256 KB n = 32
7 Incorrect 2 ms 384 KB grader returned WA
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 384 KB grader returned WA
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 384 KB grader returned WA
2 Halted 0 ms 0 KB -