Submission #1479206


Source Code Expand

#include <cstdio>
#include <cstdlib>
#include <cstring>

#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#include <queue>
#include <deque>

using namespace std;

const int MaxN = 2e5 + 5;

ifstream fin("game.in");
ofstream fout("game.out");

vector<int> gb[MaxN], gr[MaxN];

int dep[MaxN], fa[MaxN], d[MaxN];
bool safe[MaxN], vis[MaxN];

int main() {
  int n, sx, sy;
  fin >> n >> sx >> sy;
  for (int i = 1; i < n; ++i) {
    int x, y;
    fin >> x >> y;
    gr[x].emplace_back(y);
    gr[y].emplace_back(x);
  }
  for (int i = 1; i < n; ++i) {
    int x, y;
    fin >> x >> y;
    gb[x].emplace_back(y);
    gb[y].emplace_back(x);
  }
  queue<int> Q;
  Q.push(sy);
  fa[sy] = -1;
  vis[sy] = true;
  while (!Q.empty()) {
    int k = Q.front();
    for (int x : gb[k]) {
      if (!vis[x]) {
        Q.push(x);
        vis[x] = true;
        dep[x] = dep[k] + 1;
        fa[x] = k;
      }
    }
    Q.pop();
  }
  for (int i = 1; i <= n; ++i) {
    for (int k : gr[i]) {
      if (![](int x, int y) -> bool {
        return fa[x] == fa[y] || fa[x] == y || x == fa[y] || fa[fa[x]] == y || x == fa[fa[y]];
      } (i, k)) {
        safe[i] = safe[k] = true;
      }
    }
  }
  if (safe[sx]) {
    fout << -1 << endl;
    return 0;
  }
  int ans = 0;
  memset(d, 0xff, sizeof d);
  memset(vis, 0x00, sizeof vis);
  d[sx] = 0;
  Q.push(sx);
  while (!Q.empty()) {
    int k = Q.front();
    Q.pop();
    if (d[k] >= dep[k]) {
      continue;
    }
    if (safe[k]) {
      fout << -1 << endl;
      return 0;
    }
    ans = max(ans, dep[k] * 2);
    for (int x : gr[k]) {
      if (!vis[x] && d[k] + 1 < dep[x] && [](int x, int y) -> bool {
        return fa[x] == fa[y] || fa[x] == y || x == fa[y] || fa[fa[x]] == y || x == fa[fa[y]];
        } (k, x)) {
        d[x] = d[k] + 1;
        vis[x] = true;
        Q.push(x);
      }
    }
  }
  fout << ans << endl;
  return 0;
}

Submission Info

Submission Time
Task E - Sugigma: The Showdown
User Forest_Timber
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2005 Byte
Status RE
Exec Time 103 ms
Memory 10368 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 1400
Status
RE × 5
RE × 103
Set Name Test Cases
Sample example0, example1, example2, example3, example4
All doublestar0, doublestar1, doublestar2, doublestar3, doublestar4, doublestar5, doublestar6, doublestar7, example0, example1, example2, example3, example4, giri0, giri1, giri2, giri3, giri4, giri5, giri6, giri7, giri8, giri9, maxrand0, maxrand1, maxrand2, maxrand3, maxrand4, maxrand5, maxrand6, maxrand7, maxrand8, maxrand9, narashi0, narashi1, narashi2, narashi3, narashi4, narashi5, narashi6, narashi7, narashi8, narashi9, ok0, ok1, ok2, ok3, ok4, ok5, ok6, ok7, ok8, ok9, ouh0, ouh1, ouh2, ouh3, ouh4, ouh5, ouh6, ouh7, ouh8, ouh9, same0, same1, same2, same3, same4, same5, same6, same7, same8, same9, sameline0, sameline1, sameline2, sameline3, sameline4, sameline5, sameline6, sameline7, sameline8, sameline9, star0, star1, star2, star3, star4, star5, star6, star7, star8, star9, supersmall0, supersmall1, supersmall2, supersmall3, supersmall4, supersmall5, supersmall6, supersmall7, supersmall8, supersmall9
Case Name Status Exec Time Memory
doublestar0 RE 99 ms 10368 KB
doublestar1 RE 99 ms 10368 KB
doublestar2 RE 99 ms 10368 KB
doublestar3 RE 100 ms 10368 KB
doublestar4 RE 99 ms 10368 KB
doublestar5 RE 100 ms 10368 KB
doublestar6 RE 99 ms 10368 KB
doublestar7 RE 100 ms 10368 KB
example0 RE 99 ms 10368 KB
example1 RE 102 ms 10368 KB
example2 RE 100 ms 10368 KB
example3 RE 101 ms 10368 KB
example4 RE 101 ms 10368 KB
giri0 RE 101 ms 10368 KB
giri1 RE 99 ms 10368 KB
giri2 RE 99 ms 10368 KB
giri3 RE 99 ms 10368 KB
giri4 RE 99 ms 10368 KB
giri5 RE 99 ms 10368 KB
giri6 RE 98 ms 10368 KB
giri7 RE 99 ms 10368 KB
giri8 RE 102 ms 10368 KB
giri9 RE 99 ms 10368 KB
maxrand0 RE 100 ms 10368 KB
maxrand1 RE 99 ms 10368 KB
maxrand2 RE 100 ms 10368 KB
maxrand3 RE 100 ms 10368 KB
maxrand4 RE 100 ms 10368 KB
maxrand5 RE 99 ms 10368 KB
maxrand6 RE 100 ms 10368 KB
maxrand7 RE 99 ms 10368 KB
maxrand8 RE 98 ms 10368 KB
maxrand9 RE 100 ms 10368 KB
narashi0 RE 99 ms 10368 KB
narashi1 RE 100 ms 10368 KB
narashi2 RE 100 ms 10368 KB
narashi3 RE 101 ms 10368 KB
narashi4 RE 98 ms 10368 KB
narashi5 RE 100 ms 10368 KB
narashi6 RE 100 ms 10368 KB
narashi7 RE 100 ms 10368 KB
narashi8 RE 101 ms 10368 KB
narashi9 RE 100 ms 10368 KB
ok0 RE 100 ms 10368 KB
ok1 RE 100 ms 10368 KB
ok2 RE 99 ms 10368 KB
ok3 RE 103 ms 10368 KB
ok4 RE 100 ms 10368 KB
ok5 RE 100 ms 10368 KB
ok6 RE 100 ms 10368 KB
ok7 RE 100 ms 10368 KB
ok8 RE 99 ms 10368 KB
ok9 RE 100 ms 10368 KB
ouh0 RE 100 ms 10368 KB
ouh1 RE 100 ms 10368 KB
ouh2 RE 99 ms 10368 KB
ouh3 RE 100 ms 10368 KB
ouh4 RE 100 ms 10368 KB
ouh5 RE 100 ms 10368 KB
ouh6 RE 100 ms 10368 KB
ouh7 RE 100 ms 10368 KB
ouh8 RE 100 ms 10368 KB
ouh9 RE 99 ms 10368 KB
same0 RE 99 ms 10368 KB
same1 RE 99 ms 10368 KB
same2 RE 99 ms 10368 KB
same3 RE 99 ms 10368 KB
same4 RE 102 ms 10368 KB
same5 RE 100 ms 10368 KB
same6 RE 100 ms 10368 KB
same7 RE 101 ms 10368 KB
same8 RE 100 ms 10368 KB
same9 RE 99 ms 10368 KB
sameline0 RE 100 ms 10368 KB
sameline1 RE 98 ms 10368 KB
sameline2 RE 100 ms 10368 KB
sameline3 RE 102 ms 10368 KB
sameline4 RE 99 ms 10368 KB
sameline5 RE 100 ms 10368 KB
sameline6 RE 100 ms 10368 KB
sameline7 RE 99 ms 10368 KB
sameline8 RE 100 ms 10368 KB
sameline9 RE 100 ms 10368 KB
star0 RE 100 ms 10368 KB
star1 RE 98 ms 10368 KB
star2 RE 100 ms 10368 KB
star3 RE 99 ms 10368 KB
star4 RE 100 ms 10368 KB
star5 RE 100 ms 10368 KB
star6 RE 100 ms 10368 KB
star7 RE 100 ms 10368 KB
star8 RE 101 ms 10368 KB
star9 RE 101 ms 10368 KB
supersmall0 RE 100 ms 10368 KB
supersmall1 RE 102 ms 10368 KB
supersmall2 RE 99 ms 10368 KB
supersmall3 RE 99 ms 10368 KB
supersmall4 RE 99 ms 10368 KB
supersmall5 RE 99 ms 10368 KB
supersmall6 RE 100 ms 10368 KB
supersmall7 RE 99 ms 10368 KB
supersmall8 RE 100 ms 10368 KB
supersmall9 RE 99 ms 10368 KB