제출 #70727

#제출 시각아이디문제언어결과실행 시간메모리
70727Just_Solve_The_ProblemPark (JOI17_park)C++11
10 / 100
49 ms580 KiB
#include <bits/stdc++.h>
#include "park.h"
//#include "grader.cpp"

using namespace std;

static int Place[1400];
int n;

void solve1() {
  for (int i = 0; i < n; i++) {
    for (int j = i + 1; j < n; j++) {
      Place[i] = Place[j] = 1;
      if (Ask(i, j, Place)) {
        Answer(i, j);
      }
      Place[i] = Place[j] = 0;
    }
  }
}

int used[1400];
int deg[1400];

void solve2() {
  vector < int > vec(n);
  iota(vec.begin(), vec.end(), 0);
  random_shuffle(vec.begin(), vec.end());
  for (int i = 0; i < n; i++) {
    int a = vec[i];
    for (int j = i + 1; j < n; j++) {
      int b = vec[j];
      Place[a] = Place[b] = 1;
      bool fl = 0;
      if (a > b) swap(a, b), fl = 1;
//      cout << a << ' ' << b << endl;
      if (Ask(a, b, Place)) {
        Answer(a, b);
//        cout << 1 << endl;
        deg[a]++;
        deg[b]++;
        used[a] = 1;
        used[b] = 1;
      } else {
//        cout << 0 << endl;
      }
      if (fl) {
        swap(a, b);
      }
      Place[a] = Place[b] = 0;
    }
  }
}

void Detect(int T, int N) {
  srand(time(0));
  n = N;
  if (T == 1) {
    solve1();
  } else if (T == 2) {
    solve2();
  } else {

  }
}
#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...