제출 #1351214

#제출 시각아이디문제언어결과실행 시간메모리
1351214SpyrosAliv자동 인형 (IOI18_doll)C++20
6 / 100
31 ms11852 KiB
#include "doll.h"
#include <bits/stdc++.h>
using namespace std;

void dbg(vector<int> x) {
  cout << "DBG: ";
  for (auto xx: x) cout << xx << " ";
  cout << "\n";
}

void create_circuit(int M, std::vector<int> A) {
  int m = M;
  vector<int> a = A;
  int n = a.size();
  vector<int> conn(m+1);
  vector<vector<int>> aft(m+1);
  for (int i = 0; i < n-1; i++) {
    aft[a[i]].push_back(a[i+1]);
  }
  aft[a.back()].push_back(0);
  aft[0].push_back(a[0]);
  vector<int> x, y;
  for (int i = 0; i <= m; i++) {
    if (aft[i].empty()) {
      conn[i] = i;
      continue;
    }
    else if (aft[i].size() == 1) {
      conn[i] = aft[i][0];
      continue;
    }
    else {
      x.push_back(aft[i][0]);
      y.push_back(aft[i][1]);
      conn[i] = -x.size();
    }
  }
  answer(conn, x, y);
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...