Submission #1322114

#TimeUsernameProblemLanguageResultExecution timeMemory
1322114ThanhsStray Cat (JOI20_stray)C++20
0 / 100
3095 ms1848 KiB
#include "Anthony.h"
#include <vector>

#include<bits/stdc++.h>
using namespace std;

namespace {

string s[5];
}

vector<int> Mark(int N, int M, int A, int B, vector<int> U, vector<int> V) {
  s[2] = "110100", s[3] = "012";
  int n = N, m = M, a = A, b = B;
  vector<vector<int>> g(n, vector<int>());
  vector<int> d(n, -1);
  for (int i = 0; i < m; i++)
    g[U[i]].push_back(V[i]), g[V[i]].push_back(U[i]);
  queue<int> q;
  q.push(0);
  d[0] = 0;
  while (q.size())
  {
    int u = q.front();
    for (int v : g[u])
      if (d[v] == -1)
      {
        d[v] = d[u] + 1;
        q.push(v);
      }
  }
  vector<int> res(m);
  for (int i = 0; i < m; i++)
  {
    int t = max(d[U[i]], d[V[i]]);
    res[i] = s[A][t % s[A].size()] - '0';
  }
  return res;
}
#include "Catherine.h"
#include <vector>

#include<bits/stdc++.h>
using namespace std;

namespace {

string s[4];
set<string> S;

}  // namespace


void Init(int A, int B) {
  s[2] = "110100", s[3] = "012";
  string ss = s[2] + s[2];
  for (int i = 0; i < 6; i++)
    S.insert(s[2].substr(i, 5));
}

int Move(std::vector<int> y) {
  if (y.size() == 3)
  {
    set<int> s;
    for (int i = 0; i < 3; i++)
      if (y[i])
        s.insert(i);
    if (s.size() == 1)
      return *s.begin();
    for (int i : s)
      if (y[(i + 1) % 3])
        return i;
  }
  return 0;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...