Submission #344150

# Submission time Handle Problem Language Result Execution time Memory
344150 2021-01-05T07:50:11 Z milleniumEeee Library (JOI18_library) C++17
19 / 100
364 ms 532 KB
#include <bits/stdc++.h>
#include "library.h"
//#include "grader.cpp"
using namespace std;

// Query(M) = мин кол-во чтобы вырезать нужные числа

const int MAXN = 1005;

vector <int> g[MAXN];
vector <int> res;
int n;

int ask(int a, int b) {
  vector <int> need(n, 0);
  need[a - 1] = 1; 
  need[b - 1] = 1;
  int x = Query(need);
  return x;
}

void dfs(int v, int par, int ind) {
  res[ind] = v;
  for (int to : g[v]) {
    if (to != par) {
      dfs(to, v, ind + 1);
    }
  }
}

void Solve(int N) {
  if (N == 1) {
    Answer(vector <int> ({1}));
    return;
  }
  n = N;
  vector <int> deg(n + 1, 0);
  res.resize(n);
  for (int i = 1; i <= n; i++) {
    for (int j = i + 1; j <= n; j++) {
      if (ask(i, j) == 1) {
        g[i].push_back(j);
        g[j].push_back(i);
        deg[i]++, deg[j]++;
      }
    }
  }
  int root = -1;
  int sz[3] = {0, 0, 0};
  for (int i = 1; i <= n; i++) {
    sz[deg[i]]++;
    if (deg[i] == 1) {
      root = i;
    }
  }
  dfs(root, -1, 0);
  if ((int)res.size() != n || !(sz[1] == 2 && sz[2] == n - 2)) {
    while (1);
  }
  Answer(res);
}
/*
5
4 2 5 3 1
*/
# Verdict Execution time Memory Grader output
1 Correct 289 ms 532 KB # of queries: 18336
2 Correct 315 ms 492 KB # of queries: 18145
3 Correct 352 ms 408 KB # of queries: 19900
4 Correct 357 ms 404 KB # of queries: 19900
5 Correct 291 ms 492 KB # of queries: 19900
6 Correct 275 ms 532 KB # of queries: 19900
7 Correct 275 ms 492 KB # of queries: 19900
8 Correct 271 ms 496 KB # of queries: 18528
9 Correct 282 ms 408 KB # of queries: 19701
10 Correct 118 ms 364 KB # of queries: 8256
11 Correct 1 ms 364 KB # of queries: 0
12 Correct 0 ms 364 KB # of queries: 1
13 Correct 1 ms 364 KB # of queries: 3
14 Correct 1 ms 364 KB # of queries: 6
15 Correct 2 ms 364 KB # of queries: 105
16 Correct 6 ms 364 KB # of queries: 351
# Verdict Execution time Memory Grader output
1 Correct 289 ms 532 KB # of queries: 18336
2 Correct 315 ms 492 KB # of queries: 18145
3 Correct 352 ms 408 KB # of queries: 19900
4 Correct 357 ms 404 KB # of queries: 19900
5 Correct 291 ms 492 KB # of queries: 19900
6 Correct 275 ms 532 KB # of queries: 19900
7 Correct 275 ms 492 KB # of queries: 19900
8 Correct 271 ms 496 KB # of queries: 18528
9 Correct 282 ms 408 KB # of queries: 19701
10 Correct 118 ms 364 KB # of queries: 8256
11 Correct 1 ms 364 KB # of queries: 0
12 Correct 0 ms 364 KB # of queries: 1
13 Correct 1 ms 364 KB # of queries: 3
14 Correct 1 ms 364 KB # of queries: 6
15 Correct 2 ms 364 KB # of queries: 105
16 Correct 6 ms 364 KB # of queries: 351
17 Runtime error 364 ms 364 KB Execution killed with signal 13 (could be triggered by violating memory limits)
18 Halted 0 ms 0 KB -